d******8 发帖数: 2191 | 1 【 以下文字转载自 BuildingWeb 讨论区 】
发信人: dd322508 (银河), 信区: BuildingWeb
标 题: WebSocket问题
发信站: BBS 未名空间站 (Sun Aug 24 15:48:23 2014, 美东)
第一次学习JavaScript WebSocket做了个小实验,用它去连接本地C# Server,结果
server上显示连接成功了,但JS却一直处于正在连接状态。下面的代码解释部分代表输
出(未输出)的状态。如果在Javascript后加上cnt.send('abc'),错误信息为:
InvalidStateError: Failed to execute 'send' on 'WebSocket': Still in
CONNECTING state.。等很久都没有timeout error,说明Javascript一直在连接Server
。但是Server已经显示连接成功了呀。求牛人指点!
Javascript:
var cnt=new WebSocket("ws://localhost:8001");
cnt.onopen=function(){console.log('connection setup!');};// not shown
cnt.onmessage=function(msg){console.log(msg);}; // not shown
cnt.onerror=function(){console.log('error');}; // shown if close server
C#(Server):
TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"
),8001);
server.Start();
Console.WriteLine("Server started!"); //success
TcpClient connect = server.AcceptTcpClient();
Console.WriteLine("Connected!"); // success
NetworkStream ns = connect.GetStream();
Console.WriteLine("Sending msg"); // success
String msg="abc";
ns.Write(Encoding.ASCII.GetBytes(msg), 0, 3);
Console.WriteLine("Reading reply"); // success
StreamReader sr = new StreamReader(ns);
Console.WriteLine(sr.ReadToEnd());
Console.ReadLine(); | k**n 发帖数: 3989 | 2 这种broswer支持有限的东东, 玩玩明白道理就行了.
Server
【在 d******8 的大作中提到】 : 【 以下文字转载自 BuildingWeb 讨论区 】 : 发信人: dd322508 (银河), 信区: BuildingWeb : 标 题: WebSocket问题 : 发信站: BBS 未名空间站 (Sun Aug 24 15:48:23 2014, 美东) : 第一次学习JavaScript WebSocket做了个小实验,用它去连接本地C# Server,结果 : server上显示连接成功了,但JS却一直处于正在连接状态。下面的代码解释部分代表输 : 出(未输出)的状态。如果在Javascript后加上cnt.send('abc'),错误信息为: : InvalidStateError: Failed to execute 'send' on 'WebSocket': Still in : CONNECTING state.。等很久都没有timeout error,说明Javascript一直在连接Server : 。但是Server已经显示连接成功了呀。求牛人指点!
|
|