解决方案 »
- vs2005控件menu,綁定菜單問題
- 求C#下载附件时,如何解决“当前安全设置不允许下载该附件”的问题?
- 数组问题
- 以前从事Web项目开发时,UI方面设计习惯用Frameset定主框架,然后用div或table完成局部布局;
- 压缩 JPG
- 深圳比较大型的搞软件的企业或者软硬都搞的企业有哪些?
- oledb连接字符串转换为ado 数据库连接字符串,下面这句话怎么理解?
- 软件公司哪个开发的比较多,b/s 还是C/s结构
- dispose 和 Finalize 有什么区别???
- 如何隐藏ListView的Column?
- C# - Postscript(Ps) 转 PDF 或其他图片格式
- 怎么讲DataSet转化为List<T>
http://topic.csdn.net/u/20110420/16/a990de86-98db-4172-8fa4-88956e276efe.html
现在我就需要能接受和发生到客户端的消息就好了.
就像上面那个,简单点的..
谢谢.
Thread user = new Thread(delegate() { client(socket); });
user.Start();
问题是这个线程里只做了一个接收数据和会发数据,之后就不干活了。所以每个连接进来会产生一个线程去处理这里连接,而当客户端发送一次消息,并得到反馈已经,这个线程也就结束了,虽然TCP的连接是存活的,但是服务器处理该连接的线程已经关闭了。
static private void client(Socket socket)
{
byte[] data=new byte[1024];
Int32 bytes = socket.Receive(data, data.Length, SocketFlags.None);
string stream = Encoding.UTF8.GetString(data, 0, bytes);
Console.WriteLine("{0}:{1}", socket.RemoteEndPoint, stream);
socket.Send(data);
}
你的这个方法应该是做个循环,如果接收数据出错,则跳出循环,释放本次连接。