首页 新闻 搜索 专区 学院

关于TCP通信

0
悬赏园豆:20 [已关闭问题] 关闭于 2014-12-28 21:40

请问各位,使用C#,如何在一次TCP连接中互相传递数据多次。

 

比如A向B发送【请求验证】,B向A发送【可以请求】,A向B发送【这是我的密码】,B向A发送【密码正确,通过】。

 

我在B中建立了TCP监听,每次listener.AcceptSocket();后,都会开启一个线程。

//  接受挂起的请求。
Socket socket = listener.AcceptSocket();
ThreadPool.QueueUserWorkItem(ExecuteRequest, socket);

 

请各位帮帮忙,今天测试还出现了粘包。一次抓到了2个包的数据。

TheBlackPearl的主页 TheBlackPearl | 初学一级 | 园豆:7
提问于:2014-12-25 00:37
< >
分享
所有回答(2)
0

亲, 你直接去看看socket tcp的聊天室是怎么实现。 原理一样。

问天何必 | 园豆:3301 (老鸟四级) | 2014-12-25 09:23

如果出现了粘包,是不是需要对应用数据进行封包呢

支持(0) 反对(0) TheBlackPearl | 园豆:7 (初学一级) | 2014-12-27 20:51

@DeadGardens:你知道什么是“粘包”吗?

支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2014-12-29 09:17
0

只要保持 TCP 连接不断开,连接的两个端点可以随意的发送数据,无论多少次。

Launcher | 园豆:45045 (高人七级) | 2014-12-25 09:37

如果出现了粘包,是不是需要对应用数据进行封包呢

支持(0) 反对(0) TheBlackPearl | 园豆:7 (初学一级) | 2014-12-27 20:51
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册