Java Android与node.js的通信
我看到有几个类似的线索,但我找不到我的答案 我正在制作一款android应用程序,我想用它作为实时通信的服务器 我真的不能让它工作 也许我犯了很多错误,但我喜欢试着去理解 我的服务器非常简单Java Android与node.js的通信,java,android,node.js,websocket,Java,Android,Node.js,Websocket,我看到有几个类似的线索,但我找不到我的答案 我正在制作一款android应用程序,我想用它作为实时通信的服务器 我真的不能让它工作 也许我犯了很多错误,但我喜欢试着去理解 我的服务器非常简单 var http=require('http'), io=require('socket.io'), server=http.createServer(函数(req,res){ res.writeHead(200,{'Content-Type':'text/html'}); res.end(“:)”); }
var http=require('http'),
io=require('socket.io'),
server=http.createServer(函数(req,res){
res.writeHead(200,{'Content-Type':'text/html'});
res.end(“:)”);
});
监听服务器(8080);
var socket=io.listen(服务器);
socket.on('connection',函数(客户端){
client.send(“你好”);
console.log(“已连接!”);
});
这很有效。。。我用一个web应用程序尝试了这个,我可以连接
但是我不能用java
我试过了,但出现了一个异常,如“已连接,但注册时超时”
我试图在“创建ws://184.xxxxxx:8080的套接字时出错”
我试过了,运气不好,只是调用了onClose方法
我试过了,但没能成功
所以我在这里,请求帮助,有人知道怎么做吗?有什么建议吗
附言。
对于TooTallNate,我使用了如下内容:
netnet=newnet(新URI(“ws://184.xxxxxx:8080”)、WebSocketDraft.DRAFT76);
问题可能在这里吗
更新:
我搞定了!睡了一个好觉后,我有了一个想法,我正在使用socket.io,这个坏主意。。。现在我用。服务器如下所示:
var ws=require(“websocket服务器”);
var server=ws.createServer();
addListener(“连接”,函数(客户端){
控制台日志(“新连接”);
客户发送(“AAAAA”);
client.addListener(“消息”,函数(msg){
});
});
监听服务器(8080);
客户:
试试看{
URI url=新URI(“ws://184.106.69.64:8080/”;
WebSocket WebSocket=新的WebSocket连接(url);
setEventHandler(新的WebSocketEventHandler(){
公共开放(){
System.out.println(“--open”);
}
公共消息无效(WebSocketMessage消息){
System.out.println(“--received message:+message.getText());
}
公开作废{
System.out.println(“--close”);
}
});
connect();
发送(“你好世界”);
}
捕获(WebSocketException wse){
wse.printStackTrace();
}
捕获(URISyntaxException使用){
使用.printStackTrace();
}
正如Raynos所说,websocket规范仍然是一个草案(更改)。也许你可以问问Guillermo Rauch(Author socket.io)他使用的是哪种草稿,然后找到合适的Websocket库。在,您可以找到他的电子邮件地址,并尝试向他发送电子邮件(简短)
您还可以尝试使用另一个传输(长轮询)并自己实现
但在我看来,你应该使用谷歌的(大玩家已经在使用它,而且会非常温和地使用你的手机电池),而不是实时推送手机更新。我已经安装了很多使用c2dm的应用程序,例如(很棒)。你可以用它来简化你的工作。然后只需安装即可接收所需的通知。还有一个可供您使用的工具(easy:)我是node websocket server(nws)的作者,我非常确定node websocket server工作和socket.io不工作的原因是由于每个工具的实现。NWS将自动协商使用正确的草案,并且有望90-100%符合76和75的草案 至于socket.io,我不能做太多评论,但最后一次查看时,它的websocket实现的实现相当糟糕 目前我正在进行一个名为node websocket protocol的项目,socket.io、faye等将能够使用该项目,为他们提供一个真正可靠且兼容的websocket实现。这也将替换版本2.0.0中节点websocket服务器中的当前实现 顺便说一句,如果你不想拥有自己的websocket服务器,你可以使用Pusher.com,他实际上是我的雇主 [更新]至于WebSocket是否是最适合您的应用程序的技术选择,则取决于您的应用程序需要什么类型的数据和交互。在移动设备上,如果只是发送推送通知,最好使用urbanairship或notifio之类的工具 问候,, 我推荐米切尔·史密斯
- 安卓:
- 节点WebSocket:http://static.brandedcode.com/nws-docs/