我正在PhoneGap中创建一个应用程序,我正在使用HTML5 Websockets将一些信息发送到另一台设备(阅读:向拥有该应用程序的其他用户发送数据)。用户使用ID和用户名注册。
为此,我读到我必须建立TCP / Socket连接。我曾尝试使用我曾经在学校用C#创建的旧套接字聊天。
我从应用程序这样连接到套接字:
var ws = new WebSocket("ws://127.0.0.1:7001");
ws.onopen = function()
{
// Web Socket is connected, send data using send()
ws.send("message");
};
服务器端看起来像这样(当然不是整个代码,而是相关部分)
private NetworkStream stream;
private IFormatter formatter = new BinaryFormatter();
private TcpListener server;
public TcpClient client;
private string username { get; set; }
private void StartServer()
{
int port = Convert.ToInt32(portUser);
server = new TcpListener(IPAddress.Parse(IP), port);
server.Start();
client = server.AcceptTcpClient();
stream = client.GetStream();
username = formatter.Deserialize(stream).ToString();
}
最后一个反序列化行写道: 输入流不是有效的二进制格式。起始内容(以字节为单位)为:47-45-54-20-2F-20-48-54-54-50-2F-31-2E-31-0D-0A-48 ...
反序列化流的任何其他方法?或者我使用完全错误的方式?
编辑:使用C#方式我曾经在聊天室中的客户端之间发送数据
stream = client.GetStream();
formatter.Serialize(stream, messageobj);
stream.Flush();