- 6
- 0
- 约4.06千字
- 约 7页
- 2017-02-28 发布于湖北
- 举报
VB环境下的winsock编程
摘要:
Socket原意为“插座”,用于计算机通信则代表一种点到点信息传输。早期用于Unix系统上的通信编程规范,通信双方由代表两点的“服务器”和“客户”组成,基于IP协议进行按照TCP或UDP规范进行信息交换。建立双方通信的过程即称建立一个“套接字(Socket)”,建立后利用得到的“套接字”进行各种信息的交流。客户机/服务器模式客户机一方,TCP/IP应用程序功能如下:1) 打开通信信道(申请一套接字),并连接到服务器在主机的保留端口,该端口对应服务器的TCP/IP进程。2) 向服务器发出请求报文,等待接收应答。3) 从服务器方收到最终应答结果,或在不再请求时关闭信道并终止客户机进程。
服务器一方,TCP/IP应用程序动作如下:1) 打开通信信道(申请一套接字),通知本地主机在某一保留端口接收客户机请求。2) 等待客户请求到达指定端口。3) 接收到请求,启动一新进程处理用户请求,同时释放旧进程以响应新的客户请求,一旦服务完成,关闭新进程与客户的通信链路。4) 继续等待客户机请求。5) 如果不想响应客户机请求,关闭服务器进程。 TCP/IP应用中的服务器程序必须先于客户机进程启动,直到对客户机的响应结束或强迫终止。
在运行的时候它是一个不可见的控件,它提供了一个简单的途径访问TCP及UDP网络服务而无需了解底层细节棗你只需设置属性、在恰当的时候调用它提供的方法即可协议的选择WinSock控件能够通过UDP协议(用户数据报协议)或TCP协议(数据传输协议)连接到远程的机器并进行数据交换。这两种协议都能用来创建客户端和服务端应用程序。当我们使用WinSock控件时,首先要确定的是使用TCP还是UDP协议。它们之间主要的区别在于连接状态TCP协议控件是一个基于连接的协议,就像电话机一样,用户必须在通话之前建立连接;UDP是一个无连接的协议,两台计算机之间的事务处理就像传纸条一样:一台计算机向另一台计算机发送消息,但是它们之间并没有一个明确的连接路径。要创建的应用程序的类别决定了要选择的协议。当发送或接收数据时,应用程序需要从服务端或客户端获得认证的话, TCP协议就正好需要在发送或接受数据前建立明确的连接。要发送的数据量大(就像图片、声音文件之类)一旦建立了连接,TCP协议就会保持连接并保证数据的完整性。但是,这种连接会占用的更多的处理器资源,成本也会更高一些。数据是陆续传输的选择UDP协议会更合适一些。UDP协议也更适合于发送小量数据。TCP连接当用TCP控件创建应用程序的时候,必须首先明确你的程序是作为服务端还是客户端。创建服务端程序就意味着你的程序能够在指定的端口进行“监听”,而客户端则能够提出请求,服务端能够接受请求并实现连接。一旦连接建立起来,客户端和服务端就能够自由地进行通信。
服务端程序
创建一个简单服务端程序的步骤:
创建一个标准EXE工程;把默认窗体(Default form)的名字改为frmServer;把form的标题(caption)改为TCP Server;把Winsock控件拉到窗体中,并命名为tcpServer;在窗体中添加2个文本框,分别命名为txtSendData和txtOutput‘
在窗体中加入下列代码;
Private Sub Form_Load()tcpServer.LocalPort = 1001
tcpServer.Listen
frmClient.Show
End Sub
Private Sub tcpServer_ConnectionRequest (ByVal requestID As Long)
If tcpServer.State sckClosed Then tcpServer.Close
tcpServer.Accept requestID
End Sub
Private Sub txtSendData_Change()
tcpServer.SendData txtSendData.Text
End Sub
Private Sub tcpServer_DataArrival (ByVal bytesTotal As Long)
Dim strData As String
tcpServer.GetData strData
txtOutput.Text = strData
End Sub
TCP客户端程序
在工程中添加一个新的窗体(form),并命名为frmClient;将窗体的标题(caption)改为TCP Client;添加一个Windsock控件到窗体中,命名为tcpCllient;添加2个文本框控件到frmClient窗体,分别命名为txtSend和txtO
您可能关注的文档
- UNIX_chap3_编辑UNIX的文本文件.ppt
- UNIX-LINUX平台可执行文件格式分析.doc
- unix常用命令.ppt
- Unix常用指令.doc
- UNIX磁盘空间管理.doc
- UNIX的存储器管理.ppt
- Unix基本命令.doc
- UNIX基本命令1.doc
- unix基础教程.ppt
- UNIX基础培训.ppt
- 2026年及未来5年内中国液体氩气行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国黄铜合页行业投资前景及策略咨询研究报告.docx
- 2026年及未来5年内中国竹工艺家具行业投资前景及策略咨询研究报告.docx
- 2025年中国微机数显自动分析仪市场调查研究报告.docx
- 2026年及未来5年内中国微尘白色粉笔行业投资前景及策略咨询研究报告.docx
- 2025年中国微电脑型压胶机市场调查研究报告.docx
- 2026年及未来5年内中国数字化等功游泳训练测试系统行业投资前景及策略咨询研究报告.docx
- 2025年中国圆形花瓶市场调查研究报告.docx
- 2026年及未来5年内中国植物纤维静淀过滤器行业投资前景及策略咨询研究报告.docx
- 2025年中国超音波手套机市场调查研究报告.docx
最近下载
- ATW-R3210ATW-T3201盒式发射机ATW-T3202手持式发.PDF VIP
- CoDeSys编程手册范本.doc VIP
- T_SCNA 0001—2024(成人体外膜肺氧合(ECMO)技术护理规范).pdf VIP
- 2024版危重症患儿管饲喂养护理TCNAS 45─2024图文解读学习课件.pptx
- 包裹卡提效策略与实操路径白皮书 - 【私域运营】.pdf VIP
- 汽车制造工艺基础 教学课件 王永伦 汽车制造工艺基础课程教学大纲.pdf VIP
- 2025年无人机驾驶员执照飞行器运行术语术语考试实战演练专题试卷及解析.pdf VIP
- 大学生毕业论文写作教程PPT全套教学课件.pptx VIP
- 《生态环境材料》全套教学课件.ppt
- 2026年吞咽障碍考试题含答案解析.docx VIP
原创力文档

文档评论(0)