[英]socket.io emit data by android application to node.js server
我在通過Android應用程序向node.js服務器發射數據時遇到問題。
node.js服務器:
var app = require('http').createServer()
var io = require('socket.io')(app);
app.listen(1000);
app.on('connection', function (client) {
client.name = client.remoteAddress + ':' + client.remotePort;
console.log(client.name + ' connected!');
client.on('sensorChanged', function (data) {
console.log(data);
});
});
這是Android應用程序
private TextView txtView;
private SocketIO socket;
try {
socket = new SocketIO("http://localhost:1000");
socket.connect(this);
} catch (MalformedURLException e1) {
txtView.setText(e1.getMessage());
}
socket.emit("sensorChanged", "asd");
當我啟動應用程序時,服務器會看到我的手機,但是當我發出事件時,服務器不會響應。 您知道問題出在哪里嗎?
我做到了
socket.on("new message", new Emitter.Listener() {
@Override
public void call(Object... args) {
JSONObject obj = (JSONObject) args[0];
try {//do stuff here}
catch(Exception){}
}
}
我想這是來自android應用程序的代碼。 我將使用它,但是現在我需要從Android應用程序向節點服務器發射數據。 我認為問題出在這一行:
`socket.emit("sensorChanged", "asd");`
但是看起來不錯
我這樣做:
socket = new SocketIO();
try {
socket.connect("http://chat.socket.io", this);
} catch (MalformedURLException e) {
e.printStackTrace();
}
socket.emit("new message", "hello TEST");
我不知道應該得到什么結果,但是我想我必須能夠在http://chat.socket.io上看到我的消息。 在這種情況下,它不起作用。
我遇到了同樣的問題,並通過添加用戶來解決。
mSocket.emit("add user", "Andhradroid");
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.