中易网

VB,winsock控件的一小段代码

答案:3  悬赏:50  
解决时间 2021-04-21 03:17

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)
If Winsock1.State <> sckcolsed Then Winsock1.Close
Winsock1.Accept requestID
Label1.Caption = "有客户端连入本机"
End Sub

 

第一句话是让WinSock控件关闭,如果关闭了还怎么接收消息了

最佳答案

    你在设置winsock控件的时候是是用TCP连接吧。


    TCP连接协议里为了保证双方在断开连接时不丢失数据,使用一种安全断开连接的方式。比如说甲乙两个现在正在连接着,甲突然断开连接,如果不使用TCP的安全断开方式的话,在甲断开的瞬间,恰好乙又发送了数据,那么这个数据就会被甲忽略,这样数据就丢失了。


    如果使用了一种安全的断开方式,还是上面甲乙机的例子,当甲断开的时候他先断开由甲到乙的链接,TCP是双工的链接,所以甲断开的是自己的发送链接,此时他还保留由乙到甲的链接即自己的接受链接。此时如果乙还有发送数据的话也会被甲接受,不至于导致数据丢失。

全部回答

因为一个winsock不能进行多个客户端连接,所以有新连接时它要先关闭上一次连接。

Private Sub Winsock1_ConnectionRequest(ByVal requestID As Long)   '这个是winsock有新的连接请求时触发的事件 If Winsock1.State <> sckcolsed Then Winsock1.Close   '这句的作用是当前如果有连接未关闭就将它关闭,以接受新的连接请求 Winsock1.Accept requestID    '这句的作用是接受新的客户机请求  Label1.Caption = "有客户端连入本机"  '其实 这个应该是 有新的客户端连入本机  这样直观点 End Sub
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
爱情怎么才能更好?
在天猫上买了部手机 说是全国联保的 但他不给
请问瑞安妇幼保健院在哪里?我在瑞安塘下怎么
爱情卫士相似背景音乐的歌
怎样才能点亮图标?
水浸车要怎样修
怎么样才能在最短的时间内忘记一个人、、关于
安微经济管理干部学院(合肥)和安徽商贸职业技
克丽缇娜(桃李路店)我想知道这个在什么地方
山东省菏泽市成武县白浮图镇苏阁村邮编是什么
东莞东城区吉之岛现在还有宠物店么
喜欢一个人会有什么样的表现?
陈,女孩,起个好名字!
社戏的主要人物性格特点
结婚以后、最快多久能怀孕
推荐资讯
這是什麼東東?
华为EHS主要有哪些检查项目
DNF怎么退补了工会啊?
朋友是该在一起玩乐,奋斗 还是 患难与共?我
6210S哪些方面比不上N系列的手机呢?
这几款曼秀雷敦和碧柔的防晒霜哪款好用?~~~
用氩弧焊焊铁皮用c02焊丝行吗
新歌榜排名第1的是什么歌?
尽舞团的VIP迎新典藏道具怎么领取?
跪求雷蛇的CDkey,哪位大大给个!联系QQ444170
青海西宁哪里电脑调漆,颜色比较正?喷漆技术
含高蛋白质,高维生素的食物有哪些
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?