- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VB Winsock控件在CS程序中应用
VB Winsock控件在CS程序中应用
【摘要】Winsock控件对用户来说是不可见的,它给程序设计人员提供了访问TCP和UDP网络服务的方便快捷途径,可以在Microsoft Access、Visual Basic、Visual C++或Visual FoxPro中轻松使用它编写客户或服务器应用程序,程序设计人员不必了解TCP的细节或调用低级的 Winsock API,只需要通过设置Winsock控件的属性并调用其方法就可轻易连接到一台远程机器上去,并且还可进行双向数据交换。
【关键词】Winsock控件;程序设计;数据交
1.C/S模式
C/S模式又称Client/Server或客户/服务器模式,是一种分布式结构,其结构形式通常有两层模型和三层模型。C/S模式是模块化编程的逻辑扩展。基于模块的程序设计把大的软件分解成较小的部分,也就是模块,从而方便开发和维护。C/S模式把基于模块化程序设计思想更推进一步:它允许模块可以不在同一存储空间中运行。在这种体系中,调用模块就成为客户机Client(请求一个服务),而被调用模块就成为服务器 Server(提供了服务)。
2.通信协议
在使用WinSock控件时,可以使用的协议包括 TCP和UDP。
2.1TCP协议控件是基于连接的协议,可以将它同电话系统相比
在开始数据传输之前,用户必须先建立连接。在收发数据的时候,应用程序需要得到客户端或者服务器的确认信息,或数据量特别大(例如图象与声音文件)一般使用TCP协议。TCP协议将维护连接并确保数据的完整性。
2.2UDP协议是一种无连接协议,两台计算机之间的传输类似于传递邮件
消息从一台计算机发送到另一台计算机,但是两者之间没有明确的连接,数据发送是间歇的,UDP协议适合发送少量且可靠性要求不高的数据。
鉴于安全性、完整性的原因,应选用TCP协议。
3.应用实例
使用TCP协议创建应用程序,首先明确该程序师作为服务端还是客户端。创建服务端程序就意味着该程序能够在指定的端口进行“监听”,而客户端则能够提出请求,服务端能够接受请求并实现连接。一旦连接建立起来,客户端和服务端就能够自由地进行通信。服务器端的设计。
3.1使用localport属性,设置好服务器端侦听端口。
3.2使用listen方法,使服务器端处在侦听状态。
3.3客户端发出连接请求后触发winsock控件的 ConnectionRequest事件。
3.4在ConnectionRequest事件中用Accept方法来接收客户端的一个连接请求。
3.5用GetData方法和SendData方法接收和发送数据制作服务器设计第一、二步的实现 Pivate Sub Form_Load() wskServer.LocalPort= 1024
3.5.1设置好localPort作为侦听端口 wskServer.Listen。
3.5.2使用listen使服务端处在侦听状态 End Sub。
服务器设计第三、四步的实现(Winsock的 Connect)。
Private Sub wskServer_ConnectionRequest(ByVal requestID As Long).
If wskServer.StatesckClosed Then.
wskServer.Close。这里要先关闭,要不会报错wskServer.Accept requestID
3.5.3在ConnectionRequest中用Accept方法来接收客户端的连接请求
End If
End Sub
服务器设计第五步的实现:Private Sub cmdSend_Click()wskServer.SendData txtMessage.Text’发送数据txtContent.Text= vbCrLf txtContent.Text”我说:
txtMessage.Text
VbCrLf表示回车换行,将发送出去的内容显示在txtContent控件中txtContent.Text=End Sub Private Sub wskServer DataArrival(ByVal bytesTotalAs Long)
Dim tempS As String
wskServer.GetData tempS’接收数据txtContent.Text=txtContent.Text”对方说:” tempS vbCrLf’加到聊天记录中
End Sub
3.6客户端的设计
3.6.1设置RemoteHost,即
文档评论(0)