没有合适的资源?快使用搜索试试~ 我知道了~
vb winsock汇总.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 141 浏览量
2022-06-26
09:43:55
上传
评论
收藏 225KB DOC 举报
温馨提示
试读
42页
vb winsock汇总.doc
资源推荐
资源详情
资源评论
我很早就想写些技术的东东了,但好久都没有写,因为没有时间,自己又
很累,又有点懒,但是,看到我的同事和朋友们的技术提高不是很快,就
把我掌握的编程技术总结下来,以便我的朋友们能学到好的东西。我也奉
劝看过我的 BLOG 的朋友们,把自己知道的计算机知识,告诉你认识的人
吧,因为,计算机知识更新太快,很容易过时,所以,废弃的也快。好了,
进入我的 VB Socket 编程。(鼠标又坏了,尽量少些文字介绍主要的做
法)
关于客户端和服务器端的通信
先介绍客户端程序的做法:
首先,要建立客户端的工程。要把 Winsock 控件引用到工程中,做
法:菜单[工程]->[部件]->Micorosoft winsock controls 6.0
在画面上添加 1 个 Winsock 控件:命名:winsockClient 属性 Protocol
设定 0-sckTCPProtocol
客户端连接:
winsockClient .Close
'IP
winsockClient .RemoteHost = "192.168.1.105"
'Port
winsockClient .RemotePort = '20000
'Connect
winsockClient .Connect
客户端送信:
If winsockClient .State = sckConnected Then
winsockClient .SendData Data
Else
'error
Call ShowMessage
End If
客户端接收数据:
Private Sub winsockClient _DataArrival(ByVal bytesTotal As
Long)
'接收
winsockClient .GetData Receive
'If winsockClient .State = sckConnected Then
'再送信
winsockClient .SendData bytSend
Else
'Error
Call ShowMessage
End If
End Sub
客户端 winsockClient 的 Error 处理:
Private Sub winsockClient _Error(ByVal Number As Integer,
Description As String, ByVal Scode As Long, ByVal Source As
String, ByVal HelpFile As String, ByVal HelpContext As Long,
CancelDisplay As Boolean)
On Error Resume Next
'连接不能的情况下
If winsockClient .State <> sckConnected Then
。。。。
winsockClient .Close
Exit Sub
End If
End Sub
客户端 winsockClient 的 Close 处理:
Private Sub winsockClient _Close()
winsockClient .Close
End Sub
好了,上面就是客户端的主要程序点,下面介绍服务端的做法。
建立服务端的工程,
在画面上添加 2 个 Winsock 控件:命名:winScokListen 属性 Protocol
设定 0-sckTCPProtocol (专门用于监听)
命名:winSocktSend 属性 Protocol 设定
0-sckTCPProtocol (专门用于通信)
这里简单介绍一下,这 2 个 Winsock 控件,一个专门用于监听,一个专
门用于通信,就是防止服务端不必再启动,客户端就可以很方便的
连接和断开。要是用一个的话,做不到这一点(除非很变态的做法)。
服务端启动并监听客户端连接:
winScokListen.Close
winSocktSend.Close
winScokListen.Protocol = sckTCPProtocol
winScokListen.LocalPort = 20000
winScokListen.Listen
服务端监听到客户端的连接并接受
Private Sub winScokListen_ConnectionRequest(ByVal
requestID As Long)
winSocktSend.Accept requestID
End Sub
服务端接收和送信
Private Sub winSocktSend_DataArrival(ByVal bytesTotal As
Long)
On Error Resume Next
'接收
winSocktSend.GetData Receive
If winSocktSend.State = sckConnected Then
'送信
winSocktSend.SendData Send
Else
'Error
Call ShowMessage
End If
End Sub
Winscok 的关闭:
Private Sub winScokListen_Close()
winScokListen.Close
End Sub
Private Sub winSocktSend_Close()
winSocktSend.Close
End Sub
上面 2 个工程,主要的功能做法就这样,其他的自己加入。编译后,就可
以了。
.
剩余41页未读,继续阅读
资源评论
智慧安全方案
- 粉丝: 3627
- 资源: 59万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功