第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第1页共7页实验报告课程名称:计算机网络结构指导老师:吴建德成绩:实验名称:Winsock通信编程实验类型:上机实验同组学生姓名:一、实验目的和要求(必填)二、实验内容和原理(必填)三、主要仪器设备(必填)四、操作方法和实验步骤五、实验数据记录和处理六、实验结果与分析(必填)七、讨论、心得一、实验目的和要求1、学习VisualBasic的Winsock控件的使用方法;2、了解TCP/UDP的通信过程;3、进一步理解通信分层控制的优点;二、实验内容和原理1、将两台PC机通过以太网连接到同一局域网,用测试软件测试以太网通信是否正常。2、编写一个简单通信程序,在两台PC上同时运行,要求在一台PC上输入字符,按确认键后能在另一台PC上显示。3、编写两个通信程序(服务器程序和客户机程序),要求:(1)客户机与服务器通过TCP连接后,在其中一台主机上输入字符,按回车键后将所有字符发送到另一台主机并显示;(2)实验2的文件传输方法改为通过UDP传输,其余要求不变。三、主要实验设备电脑一台,串口线一根专业:电子信息工程姓名:学号:309日期:2012年地点:应电楼305第2页共7页第1页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第2页共7页四、实验数据记录和处理实验程序代码如下:1.TCP:frmclientPrivateSubForm_Load()'Winsock控件的名字为tcpClient。'注意:要指定远程主机,可以使用'IP地址(例如:"121.111.1.1"),也可以使用'计算机的“好听的名字”如下所示。tcpClient.RemoteHost="127.0.0.1"tcpClient.RemotePort=1002EndSubPrivateSubcmdConnect_Click()'调用Connect方法,初始化连接。tcpClient.ConnectEndSubPrivateSubtxtSendData_Change()tcpClient.SendDatatxtSend.TextEndSubPrivateSubtcpClient_DataArrival_(ByValbytesTotalAsLong)DimstrDataAsStringtcpClient.GetDatastrDatatxtOutput.Text=strData第3页共7页第2页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第3页共7页EndSubPrivateSubtxtSend_Change()tcpClient.SendDatatxtSend.TextEndSubfrmserverPrivateSubForm_Load()'将LocalPort属性设置为一个整数。'然后调用Listen方法。tcpServer.LocalPort=1002tcpServer.ListenfrmClient.Show'显示客户端的窗体。EndSubPrivateSubtcpServer_ConnectionRequest(ByValrequestIDAsLong)'检查控件的State属性是否为关闭的。'如果不是,'在接受新的连接之前先关闭此连接。IftcpServer.State<>sckClosedThentcpServer.Close'接受具有requestID参数的'连接。tcpServer.AcceptrequestIDEndSub第4页共7页第3页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第4页共7页PrivateSubtxtSendData_Change()'名为txtSendData的TextBox控件中'包含了要发送的数据。当用户往文本框中'键入数据时,使用SendData方法'发送输入的字符串。tcpServer.SendDatatxtSendData.TextEndSubPrivateSubtcpServer_DataArrival_(ByValbytesTotalAsLong)'为进入的数据声明一个变量。'调用GetData方法,并将数据赋予名为txtOutput'的TextBox的Text属性。DimstrDataAsStringtcpServer.GetDatastrDatatxtOutput.Text=strDataEndSub2.UDPpeerAPrivateSubForm_Load()'控件的名字为udpPeerAWithudpPeerA'重点:必须将RemoteHost的值'修改为计算机的名字。.RemoteHost="127.0.0.1".RemotePort=1001'连接的端口号。第5页共7页第4页共7页编号:时间:2021年x月x日书山有路勤为径,学海无涯苦作舟页码:第5页共7页.Bind1002'绑定到本地的端口。EndWithfrmPeerB.Show'显示第二个窗体。EndSubPrivateSubtxtSend_Change()'在键入文本时,立即将其发送出去。udpPeerA.SendDatatxtSend.TextEndSubPrivateSubudpPeerA_DataArrival_(ByValbytesTotalAsLong)DimstrDataAsStringudpPeerA.GetDatastrDatatxtOutput.Text=strDataEndSubPEERBPrivateSubForm_Load()'控件的名字为udpPeerB。WithudpPeerB'重点:必须将RemoteHost的值改为'计算机的名字。.RemoteHost="127.0....