解决方案 »
- 问问百度或Google广告放在CSDN或cnblogs有收益吗?
- 怎么捕捉System.NullReferenceException
- C#求结构大小
- 编写windows程序 从Exchange Server 读取邮件的问题!
- 会用ImmSetCompositionString()API函数的大哥进来帮忙
- 谈谈媒体中的高难动作,使用DirectX,C#代码进行流媒体Wma,Mp3过滤开发,高手都进来。
- 用printdocument打印时,把一个panel的比例变成打印时纸的比例的问题(在vb.net没人答,只好来这求助)!
- c# 能否读取由c++建立的内存映射文件
- 在modom下,sqlconnection程序的问题?
- Datagrid问题
- 一个很简单的内存映射文件读取失败,为什么?
- Easyui Combobox 怎么实现 清空当前值重新加载值
我尝试过在vForm关闭时候关闭socket连接,同样不起做用
客户端走的端口我不关心情况是,假如每个客户端程序只有1个Form,每个Form发起一个连接,那么同一个IP上不管多少个客户端程序连接过去,server都能判断到链接新增和断开。但是修改为,客户端程序有2个Form,每个Form发起一个连接,同一个IP上只运行一个一个客户端程序,这时候server只能判断到链接的新增,但是判断不到连接的断开(准确的说是判断不到非主窗口的Form的链接断开)
客户端走的端口我不关心情况是,假如每个客户端程序只有1个Form,每个Form发起一个连接,那么同一个IP上不管多少个客户端程序连接过去,server都能判断到链接新增和断开。但是修改为,客户端程序有2个Form,每个Form发起一个连接,同一个IP上只运行一个一个客户端程序,这时候server只能判断到链接的新增,但是判断不到连接的断开(准确的说是判断不到非主窗口的Form的链接断开)你没明白呀,不管是不是同一Form 只要是连接的都能准确的判断哪个断开了。之前说的端口只是一方法。
另一方法就是服务端 Recive返回0时或心跳包超时就说明断开连接了。
心跳包和Recive返回0这两个方法在实际项目中可能不是很合适,如何靠端口判断呢?
心跳包和Recive返回0这两个方法在实际项目中可能不是很合适,如何靠端口判断呢?
你没试过怎么知不合适。我能说这个出来,肯定是有实际应用的。之前做网游的,这理由够了吧。
心跳包和Recive返回0这两个方法在实际项目中可能不是很合适,如何靠端口判断呢?
你没试过怎么知不合适。我能说这个出来,肯定是有实际应用的。之前做网游的,这理由够了吧。拉灯 你要小心ao巴马呀
呃,我的意思是,目前程序的架构已经开了很多线程和端口处理不同的事物,所以想能不多增加一个新的端口进尽量不加。由于每个端口通讯的数据包不同,所以心跳的话,就要多开个端口。如果判断send后多久没有Recive,由于处理信息的时间无法判定(有的操作可能需要好几十秒),所以这个时间有点长了因此我才想通过server端得到客户端链接断开。令人不解的是,相同的代码,把客户端两个Form分别放到两个程序里运行,server就能判断出来,但是放在同一个程序里,就必须主窗口断开后,才能判断出来。