Я видел, что есть несколько подобных потоков, но я не мог найти свой ответ.
Я делаю и приложение для Android, я хочу использовать node в качестве сервера для обмена в реальном времени.
Я действительно не могу заставить это работать.
Возможно, я делаю много ошибок, но мне нравится пытаться понять.
Мой сервер так же прост, как
var http = require('http'),
io = require('socket.io'),
server = http.createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/html'});
res.end(':)');
});
server.listen(8080);
var socket = io.listen(server);
socket.on('connection', function(client){
client.send("hello");
console.log("connected!");
});
и это работает... Я пробовал это с помощью веб-приложения, и я могу подключиться.
Но я не могу с java..
Я попробовал kryonet, но получаю исключение, подобное "подключенному, но таймауту при регистрации"
Я попробовал weberknecht Я получаю ошибку при создании сокета для ws://184.xxxxxx: 8080"
Я попробовал TooTallNate, не повезло, он просто вызывает метод onClose.
Я попробовал jWebSocket, но я не мог заставить его работать...
Итак, я здесь, прося о помощи, кто-нибудь знает, как это сделать? любое предложение?
P.S. для TooTallNate Я использую что-то вроде этого:
Net net = new Net(new URI("ws://184.xxxxxx:8080"),WebSocketDraft.DRAFT76);
может быть проблема здесь?
UPDATE: Я справился с этим! после хорошего сна у меня возникла идея, я использовал socket.io, плохую идею... теперь я использую Node Websocket Server с weberknecht. Сервер выглядит так:
var ws = require("websocket-server");
var server = ws.createServer();
server.addListener("connection", function(client){
console.log("new connection");
client.send("aaaaaa");
client.addListener("message", function(msg){
});
});
server.listen(8080);
и клиент:
try {
URI url = new URI("ws://184.106.69.64:8080/");
WebSocket websocket = new WebSocketConnection(url);
websocket.setEventHandler(new WebSocketEventHandler() {
public void onOpen(){
System.out.println("--open");
}
public void onMessage(WebSocketMessage message){
System.out.println("--received message: " + message.getText());
}
public void onClose(){
System.out.println("--close");
}
});
websocket.connect();
websocket.send("hello world");
}
catch (WebSocketException wse) {
wse.printStackTrace();
}
catch (URISyntaxException use) {
use.printStackTrace();
}