我开发了一个简单的异步服务器,它侦听发送一些小块数据的unix套接字和同步客户端。从客户端发送数据到服务器收到数据的时刻之间的时间是完全随机的,从1秒到9秒。我想知道为什么是这个原因?服务器被实现为显示在MSDN例如这里(使用beginReceive):http://msdn.microsoft.com/en-us/library/fx6588te.aspx单声道,c#,套接字,性能
EndPoint ep = new UnixEndPoint(_fileName);
_socket = new Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.IP);
try
{
_socket.Bind(ep);
_socket.Listen(_maxConnectionsInQuee);
while(true)
{
done.Reset();
_socket.BeginAccept(new AsyncCallback(AcceptCallback), null);
done.WaitOne();
}
}
并在客户端:
EndPoint ep = new UnixEndPoint(_fileName);
_socket = new Socket(AddressFamily.Unix, SocketType.Stream, ProtocolType.IP);
_socket.Connect(ep);
byte[] bytes = Encoding.UTF8.GetBytes(message);
_socket.Send(bytes);
方法,该方法将数据发送到服务器从web服务方法调用(通过xsp2运行)。
你用什么作为客户端? – Gonzalo 2009-11-23 15:16:05
顺便说一句,我正在编辑标题。这些不是unix域套接字。 – Gonzalo 2009-11-23 15:16:43
其实他们是。我使用Mono.Unix中的UnixEndPoint,这几乎是唯一的区别。我已经在上面的文章中添加了一些代码来澄清 – 2009-11-23 17:26:38