<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0039)http://study.qqcf.com/web/170/19561.htm -->
<HTML><HEAD><TITLE>用VB实现客户——服务器(TCP/IP)编程实例</TITLE>
<META http-equiv=Content-Type content="text/html; charset=gb2312">
<META content=用VB实现客户——服务器(TCP/IP)编程实例 name=keywords>
<META content=用VB实现客户——服务器(TCP/IP)编程实例 name=Description><LINK
href="用VB实现客户——服务器(TCP-IP)编程实例.files/style.css" type=text/css rel=stylesheet>
<META content="MSHTML 6.00.2900.3132" name=GENERATOR></HEAD>
<BODY leftMargin=0 topMargin=0 marginheight="0" marginwidth="0">
<TABLE cellSpacing=0 cellPadding=0 width=776 align=center border=0>
<TBODY>
<TR>
<TD bgColor=#000000 colSpan=3><IMG height=1
src="用VB实现客户——服务器(TCP-IP)编程实例.files/spacer.gif" width=1></TD></TR>
<TR>
<TD width=1 bgColor=#000000><IMG height=1 src="" width=1></TD>
<TD class=tdc height=10><IMG height=1 src="" width=1></TD>
<TD width=1 bgColor=#000000><IMG height=1 src=""
width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=776 align=center bgColor=#ffffff
border=0>
<TBODY>
<TR>
<TD width=1 bgColor=#000000 height=12><IMG height=1 src="" width=1></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD><IMG height=1 src="" width=1></TD>
<TD width=40><SPAN id=tdimg_1></SPAN></TD>
<TD class=tdc width=200><IMG height=1 src="" width=1></TD>
<TD width=1 bgColor=#000000><IMG height=1 src=""
width=1></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=776 align=center bgColor=#ffffff
border=0>
<TBODY>
<TR>
<TD width=1 bgColor=#000000><IMG height=1 src="" width=1></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD width=14><IMG height=1 src="" width=1></TD>
<TD>
<TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
<TBODY>
<TR>
<TD width=160><A href="http://study.qqcf.com/" target=_blank><IMG
height=60 alt=ASP,ASP.NET,PHP,JSP,源码,教程,特效
src="用VB实现客户——服务器(TCP-IP)编程实例.files/logo.gif" width=160
border=0></A></TD>
<TD>
<SCRIPT src="用VB实现客户——服务器(TCP-IP)编程实例.files/1.js"></SCRIPT>
</TD></TR></TBODY></TABLE></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD width=1 bgColor=#000000><IMG height=1 src=""
width=1></TD></TR></TBODY></TABLE>
<TABLE height=6 cellSpacing=0 cellPadding=0 width=776 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width=1 bgColor=#000000><IMG height=1 src="" width=1></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD><IMG height=1 src="" width=1></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD width=1 bgColor=#000000><IMG height=1 src=""
width=1></TD></TR></TBODY></TABLE>
<SCRIPT src="用VB实现客户——服务器(TCP-IP)编程实例.files/menu.js"></SCRIPT>
<SCRIPT src="用VB实现客户——服务器(TCP-IP)编程实例.files/2.js"></SCRIPT>
<TABLE height=12 cellSpacing=0 cellPadding=0 width=776 align=center
bgColor=#ffffff border=0>
<TBODY>
<TR>
<TD width=1 bgColor=#000000><IMG height=1 src="" width=1></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD><IMG height=1 src="" width=1>
<TABLE cellSpacing=0 cellPadding=0 width="98%" align=center border=0>
<TBODY>
<TR>
<TD height=20>当前位置:<A href="http://study.qqcf.com/"
target=_blank>首页</A>>><A
href="http://study.qqcf.com/corps/47/list_1.htm"
target=_blank>VB程序设计</A>>><A
href="http://study.qqcf.com/sort/170/list_2_1.htm"
target=_blank>VB网络类编程</A></TD></TR>
<TR>
<TD bgColor=#e8e8e8 height=30>
<DIV align=center><FONT color=#ff0000
size=4><STRONG>用VB实现客户——服务器(TCP/IP)编程实例</STRONG></FONT></DIV></TD></TR>
<TR>
<TD>现在大多数语言都支持客户-服务器模式编程,其中VB给我们提供了很好的客户-服务器编程方式。下面我们用VB来实现TCP/IP网络编程。
<P></P>
<P> TCP/IP协议是Internet最重要的协议。VB提供了WinSock控件,用于在TCP/IP的基础上进行网络通信。当两个应用程序使用Socket进行网络通信时,其中一个必须创建Socket服务器侦听,而另一个必须创建Socket客户去连接服务器。这样两个程序就可以进行通信了。</P>
<P> 1.创建服务器,首先创建一个服务端口号。并开始侦听是否有客户请求连接。</P>
<P> 建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件)</P>
<P> 添加两文本框Text1,Text2,和一按钮Command1 </P>
<P> Private Sub Form_Load()</P>
<P> SockServer.LocalPort = 2000 ′服务器端口号,最好大于1000</P>
<P> SockServer.Listen ′开始侦听</P>
<P> End Sub</P>
<P> Private Sub Form_Unload(Cancel As Integer)</P>
<P> SockServer.Close</P>
<P> End Sub</P>
<P> Private Sub SockServer_Close()</P>
<P> SockServer.Close</P>
<P> End Sub</P>
<P> Private Sub SockServer_ConnectionRequest(ByVal requestID As
Long)</P>
<P> SockServer.Close </P>
<P> SockServer.Accept requestID ′表示客户请求连接的ID号</P>
<P> End Sub</P>
<P> ′当客户向服务器发送数据到达后,产生DataArrival事件,在事件中接收数据,GetData方法接收数据。</P>
<P> Private Sub SockServer_Data</P>
<P>Arrival(ByVal bytesTotal As Long)</P>
<P> Dim s As String</P>
<P> SockServer.GetData s</P>
<P> Text1.Text = s</P>
<P> End Sub</P>
<P> 当我需要向客户发送数据时,只需调用SendData方法。</P>
<P> Private Sub Command1_Click()</P>
<P> SockServer .SendData Text2.Text</P>
<P> End Sub</P>
<P> 2.创建客户。要创建客户连接服务器,首先设置服务器主机名,如IP地址、域名或计算机名,然后设置服务器端口,最后连接服务器。</P>
<P> 建立一窗体,并向其增加一个Winsock控件(可在工程菜单中的部件项来添加此控件),取名为:SockC1。添加两文本框Text1,Text2,和一按钮Command1</P>
<P> Private Sub Form_Load()</P>
<P> SockCl.RemoteHost =′127.0.0.1″</P>
<P> ′表示服务器主机名</P>
<P> SockCl.RemotePort = 2000 </P>
<P> ′表示服务器端口名</P>
<P> SockCl.Connect</P>
<P>′连接到服务器 </P>
<P> End Sub</P>
<P> Private Sub Form_Unload(Cancel As Integer)</P>
<P> SockCl.Close</P>
<P> End Sub</P>
<P> Private Sub SockCl_Close()</P>
<P> SockCl.Close</P>
<P> End Sub</P>
<P> Private Sub SockCl_DataArrival(ByVal bytesTotal As Long)</P>
<P> Dim s As String</P>
<P> SockCl.GetData s ′接收数据到文本框中</P>
<P> Text1.Text = s</P>
<P> End Sub</P>
<P> Private Sub Command1_Click()</P>
<P> SockCl.SendData Text2.Text ′向服务器发送数据</P>
<P> End Sub</P>
<P> 3.进行通信。把这两个窗体分别编译成两个EXE文件,服务器Server.exe和客户Client.exe程序,并把它们分别安装在服务器端和客户端,这样就可以实现两者通信了。
</P></TD></TR></TBODY></TABLE></TD>
<TD class=tdc width=10><IMG height=1 src="" width=1></TD>
<TD width=1 bgColor=#000000><IMG height=1 src=""
width=1></TD></TR></TBODY></TABLE>
<SCRIPT src="用VB实现客户——服务器(TCP-IP)编程实例.files/3.js"></SCRIPT>
<TABLE cellSpacing=0 cellPadding=0 width=776 align=center bgColor=#ffffff
border=0>
<TBODY>
<TR>