使用socket.io(nodejs)的TCP客户端

5

我需要一个与C#应用程序连接的nodejs服务器,我不喜欢使用第三方库,因此我一直在尝试使用 TcpClient,服务器类似于以下内容:

var io = require('socket.io').listen(8000);
io.socket.on('connection',function(socket)
{
 console.log("connected");
}

在C#项目中:

var client = new TcpClient(Server,8000);
Socket s = client.Client;
if (!s.Connected)
{
   s.SetSocketOption(SocketOptionLevel.Socket,
   SocketOptionName.ReceiveBuffer, 16384);
   MessageBox.Show("disconnected");
}
else
{
   MessageBox.Show("connected");
   s.Send(Encoding.UTF8.GetBytes("something"));
}

据我理解,针对"something",我应该编写一些代码来触发nodejs的on('connection')事件,我是否有所遗漏?
PS:如果您知道我需要的好的第三方库,可以提及。

2
不喜欢使用第三方库,喜欢重新发明轮子。这样就对了 ;) - Adam Robinson
真的:P,但我喜欢尽可能地使它更清洁,例如,如果我的问题只是:“connection: {data: value}”,并且它可以正常工作,我不需要第三方库……但是如果我需要写一本书,我会考虑第三方库;)。我喜欢在使用第三方工具之前知道它如何工作。 - Joaolvcm
Node.js是基于HTTP协议的吗?或者它支持套接字级别的编程吗?如果仅限于HTTP,那么你将需要发送HTTP请求而不仅仅是向套接字写入数据。 - Adam Robinson
1
Node.js 支持套接字级别的编程。 - Joaolvcm
1个回答

0

实际上,server on('connection') 应该在构造 TcpClient 对象时触发,因为这是连接发生的时间,而不是在尝试发送一些数据的时候。


1
当socket.io服务器运行时,MessageBox.Show("connected");会触发,但on('connection')没有触发。 - Joaolvcm

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接