我不明白为什么下面的代码无法运行。我想通过JavaScript连接到我的服务器控制台应用程序,然后将数据发送到服务器。
这是服务器端的代码:
static void Main(string[] args)
{
TcpListener server = new TcpListener(IPAddress.Parse("127.0.0.1"), 9998);
server.Start();
var client = server.AcceptTcpClient();
var stream = client.GetStream();
while (true)
{
var buffer = new byte[1024];
// wait for data to be received
var bytesRead = stream.Read(buffer, 0, buffer.Length);
var r = System.Text.Encoding.UTF8.GetString(buffer);
// write received data to the console
Console.WriteLine(r.Substring(0, bytesRead));
}
}
这里是 JavaScript 代码:
var ws = new WebSocket("ws://localhost:9998/service");
ws.onopen = function () {
ws.send("Hello World"); // I WANT TO SEND THIS MESSAGE TO THE SERVER!!!!!!!!
};
ws.onmessage = function (evt) {
var received_msg = evt.data;
alert("Message is received...");
};
ws.onclose = function () {
// websocket is closed.
alert("Connection is closed...");
};
当我运行那段代码时,会发生以下情况:
请注意,当我运行 JavaScript 时,服务器接受并成功建立连接。但 JavaScript 无法发送数据。每当我使用 send 方法时,尽管已建立连接,它也不会发送。如何使其工作?