while(true)
{
ii=sock.ReceiveFrom(bb,ref oldEP);//接收数据
if(ii==0)//、客户端连接断开,就会不停接收0个字节
{
break;
}
{
ii=sock.ReceiveFrom(bb,ref oldEP);//接收数据
if(ii==0)//、客户端连接断开,就会不停接收0个字节
{
break;
}
解决方案 »
- 如何在从树形结构中传参链接到另一个页面
- 有没有游戏服务器开发相关的资料!大家踊跃共享啊
- 如何用DataTable.Compute("Count(*)", "xxxxxx")实现日期字段的过滤统计?
- 请问对象的实例化,所需分配的内存空间是在编译期还是运行期分配?
- 来谈谈【权限模块】的设计~~~
- 怎样分别将int型变量的高、低16位赋值?
- DataGrid绑定的数据库如何能随着DataGrid里的数据变化即时更新?(一个c#新手请教各位高人,给出思路也有分)谢谢!
- 问大家VS2010上的一个快捷键
- web页弹出窗体的问题
- 如何利用Native Wifi api 获取连接上的ap的mac地址或ssid
- 关于刷新窗体的问题,在线等
- DataGrid的OnItemCreated 事件奇怪问题
(1)客户端发送一个带SYN标志的TCP报文到服务器。这是三次握手过程中的报文1。 (2) 服务器端回应客户端的,这是三次握手中的第2个报文,这个报文同时带ACK标志和SYN标志。因此它表示对刚才客户端SYN报文的回应;同时又标志SYN给客户端,询问客户端是否准备好进行数据通讯。 (3) 客户必须再次回应服务段一个ACK报文,这是报文段3。2、连接终止协议(四次握手)
由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。 (1) TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送(报文段4)。
(2) 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1(报文段5)。和SYN一样,一个FIN将占用一个序号。
(3) 服务器关闭客户端的连接,发送一个FIN给客户端(报文段6)。
(4) 客户段发回ACK报文确认,并将确认序号设置为收到序号加1(报文段7)。所以:连接没有断开,而且服务器和客户端,都没有发送数据的话,receivefrom 收到的应该也是 0个字节吧.
===================================>>>
是不的..
另可看:
http://blog.csai.cn/user1/265/archives/2006/6975.html