在 android 上解析 socket.io 数据。 (Gottox Socket.IO)
Posted
技术标签:
【中文标题】在 android 上解析 socket.io 数据。 (Gottox Socket.IO)【英文标题】:Parse socket.io data on android. (Gottox Socket.IO) 【发布时间】:2014-12-22 19:45:33 【问题描述】:我使用的是 node.js 服务器,并使用了 Socket.IO 聊天示例作为 android 参考。 这是我的 app.js 文件中的内容
var io = require('socket.io').listen(8080).sockets;
io.on('connection', function(socket)
socket.on('chat message', function(msg)
io.emit('chat message', msg);
);
);
这是我的html。
<html>
<head>
<title>Socket.IO chat</title>
<style>
* margin: 0; padding: 0; box-sizing: border-box;
body font: 13px Helvetica, Arial;
form background: #000; padding: 3px; position: fixed; bottom: 0; width: 100%;
form input border: 0; padding: 10px; width: 90%; margin-right: .5%;
form button width: 9%; background: rgb(130, 224, 255); border: none; padding: 10px;
#messages list-style-type: none; margin: 0; padding: 0;
#messages li padding: 5px 10px;
#messages li:nth-child(odd) background: #eee;
</style>
</head>
<body>
<ul id="messages"></ul>
<form action="">
<input id="m" autocomplete="off" /><button>Send</button>
</form>
</body>
<script src="http://localhost:8080/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-2.1.3.min.js"></script>
<script>
var socket = io.connect('http://localhost:8080');
$('form').submit(function()
socket.emit('chat message', $('#m').val());
$('#m').val('');
return false;
);
socket.on('chat message', function(msg)
$('#messages').append($('<li>').text(msg));
);
</script>
这是我的 Android 代码。
try
SocketIO socket = new SocketIO("http://192.168.0.5:8080");
socket.connect(new IOCallback()
@Override
public void onMessage(JSONObject json, IOAcknowledge ack)
try
Log.e("Server","Server said:" + json.toString(2));
catch (JSONException e)
e.printStackTrace();
@Override
public void onMessage(String data, IOAcknowledge ack)
Log.e("Server","Server said: " + data);
@Override
public void onError(SocketIOException socketIOException)
Log.e("Server",socketIOException.toString());
socketIOException.printStackTrace();
@Override
public void onDisconnect()
Log.e("Server","Connection terminated.");
@Override
public void onConnect()
Log.e("Server","Connection established");
@Override
public void on(String event, IOAcknowledge ack, Object... args)
Log.e("Server","Server triggered event '" + event + "'");
);
socket.send("Hello Server!");
catch(MalformedURLException e)
大部分代码都可以正常工作。问题是从网站方面来看,如果我发送消息,它不会登录android。 我从库中的默认日志函数的日志中接收到这个。
12-22 14:30:36.131: I/io.socket(3262): < 5:::"name":"chat message","args":["sdfg"]
【问题讨论】:
你在那里。你能解决你的问题吗。目前我也面临和你一样的问题。如果你有解决方案,你能帮我吗?这将是一个很大的帮助,我将非常感激。问题加 1 ***.com/questions/28270345/… 【参考方案1】:看看下面的链接,它可能对您访问从您的网站发送到您的 Android 应用程序的数据有所帮助, http://nkzawa.tumblr.com/post/46850605422/connecting-to-a-socket-io-server-from-android 希望对你有帮助
【讨论】:
以上是关于在 android 上解析 socket.io 数据。 (Gottox Socket.IO)的主要内容,如果未能解决你的问题,请参考以下文章
如何在 android 上检查 socket.io 连接或断开连接?
在 android 上使用 Socket.IO 总是返回 XHR 轮询错误