【问题标题】:tcp client with socket.io (nodejs)带有socket.io(nodejs)的tcp客户端
【发布时间】:2012-05-24 02:21:01
【问题描述】:

我需要一个连接到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:如果你知道我需要的一个好的第三方库,你可以提一下

【问题讨论】:

  • 不喜欢使用第三方库喜欢重新发明轮子。在那里,FTFY ;)
  • true :P,但我喜欢尽可能地使清洁,例如,我的问题只是:“connection: {data: value}”,它工作正常,我不不需要第三方库……但如果我需要写一本书,我会考虑第三方库;)。在使用第三方的东西之前,我想知道它是如何工作的。
  • node.js 不是基于 HTTP 的协议吗?或者它是否支持套接字级编程?如果只是 HTTP,则必须发送 HTTP 请求,而不仅仅是将数据写入套接字。
  • node.js 支持套接字级编程

标签: c# node.js tcp connection socket.io


【解决方案1】:

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

【讨论】:

  • MessageBox.Show("connected"); 在 socket.io 服务器运行时触发,但on('connetion') 不是
猜你喜欢
  • 1970-01-01
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
  • 2013-12-15
  • 1970-01-01
  • 1970-01-01
  • 2016-04-23
  • 2014-01-13
相关资源
最近更新 更多