Tôi thấy có một vài chủ đề tương tự nhưng tôi không thể tìm thấy câu trả lời của mình.Android đến giao tiếp node.js
Tôi đang tạo và ứng dụng android, tôi muốn sử dụng nút làm máy chủ để liên lạc trong thời gian thực.
Tôi thực sự không thể làm việc này.
Có lẽ tôi đang làm rất nhiều điều sai trái nhưng tôi muốn cố gắng hiểu.
Máy chủ của tôi cũng đơn giản như
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!");
});
và làm việc này ... Tôi cố gắng này với một ứng dụng web và tôi có thể kết nối.
Nhưng tôi không thể với java ..
tôi đã cố gắng kryonet nhưng tôi nhận được một ngoại lệ như "kết nối nhưng thời gian chờ đăng ký"
tôi đã cố gắng weberknecht tôi nhận được một "lỗi trong khi tạo ổ cắm để ws : //184.xxxxxx: 8080 "
Tôi đã thử TooTallNate, không may mắn, nó chỉ cần gọi phương thức onClose.
tôi đã cố gắng jWebSocket nhưng tôi không thể làm cho nó làm việc ...
Vì vậy, tôi đang ở đây, yêu cầu giúp đỡ, không ai biết làm thế nào để thực hiện điều này? Bất kì lời đề nghị nào?
P.S. cho TooTallNate Tôi đang sử dụng một cái gì đó như thế này:
Net net = new Net(new URI("ws://184.xxxxxx:8080"),WebSocketDraft.DRAFT76);
có thể vấn đề là ở đây?
CẬP NHẬT: Tôi đã xử lý việc này! sau một giấc ngủ ngon tôi đã có ý tưởng, tôi đã sử dụng socket.io, ý tưởng tồi ... bây giờ tôi sử dụng Node Websocket Server với weberknecht. Các máy chủ trông như thế này:
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);
và khách hàng:
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();
}
Tôi tin rằng vấn đề là websocketdraft. Có 3 bản nháp nằm xung quanh, 76, 00 và 06. Socket.io là khá chảy máu cạnh với theo kịp với các bản thảo mới nhưng tôi nghi ngờ các thư viện Java của bạn. – Raynos
nếu bạn đang sử dụng ứng dụng android làm ứng dụng khách thay vì trình duyệt thì không có điểm nào khi sử dụng ổ cắm web. websockets được tạo cho các thiết lập máy chủ/trình duyệt. – eggie5