VisualBasicNet实现TCP协节能
2020-10-28 03:36:13 菏泽汽车网
11. 用下列代码替换中的Button1的Click事件对应的处理代码,下列代码功能是向远程主机的8000端口号提出TCP连接申请,并在连接建立后,初始化基础数据流:
Private Sub Button1_Click ( ByVal sender As ject , ByVal e As entArgs ) Handles ick
Dim ipRemote As IPAddress
Dim sHostName As String
Dim tcpClient As TcpClient
Try
ipRemote = rse ( xt )
Catch
ow ( "输入的IP地址不合法!" , "错误提示!" )
Return
'判断给定的IP地址的合法性
End Try
Try
tcpClient = New TcpClient ( xt , 8000 )
'对远程主机的8000端口提出TCP连接申请
nsStream = tStream ( )
'通过申请,并获取传送数据的络基础数据流
swWriter = New StreamWriter ( nsStream )
'使用获取的络基础数据流来初始化StreamWriter实例
abled = False
abled = True
tcpConnect = True
xt = "已经连接!"
Catch
ow ( "无法和远程主机8000端口建立连接!" , "错误提示!" )
Return
End Try
End Sub
12. 用下列代码替换中的Button2的Click事件对应的处理代码,下列代码功能是对基础数据流进行写操作,实现向远程主机传输文本数据:
Private Sub Button2_Click ( ByVal sender As ject , ByVal e As entArgs ) Handles ick
If ( xt "" ) Then
iteLine ( xt )
'刷新当前数据流中的数据
ush ( )
xt = ""
Else
ow 自2013年10月至今( "发送信息不能为空!" , "错误提示!" )
End非常感谢大家。我们每天都在努力 If
End Sub
13. 用下列代码替换中的Dispose过程,下面代码的作用是重新定义Dispose过程,在过程中判断TCP连接是否仍然建立,如果建立则向远程主机传送控制码,断开连接,并手动清除使用的资源,回收垃圾:
Protected Overloads Overrides Sub Dispose ( ByVal disposing As Boolean )
If tcpConnect Then
iteLine ( "STOP" )
'发送控制码
ush ( )
'刷新当前数据流中的数据
ose ( )
ose ( )
'清除资源 ( )
End If
If disposing Then
If Not ( components Is Nothing ) Then
spose ( )
End If
End If
spose ( disposing )
End Sub
14. 至此【客户端程序】就完成了。在正确编译项目后。就可以选择局域中任二台计算机来测试了,一台运行客户端程序,一台运行服务器端程序。在服务器端程序运行后,单击【启动服务】按钮,启动服务后。在客户端程序的【服务器IP地址】文本框中输入络中运行服务器端程序主机对应的IP地址后,单击【连接】按钮,就和启动服务的服务器端程序建立TCP连接,此时就可以在客户端程序的【信息】文本框中输入文本信息后,单击【发送】按钮就能够把文本信息传送到服务器端了。图03和图04分别是客户端程序和服务器端程序运行后进行通讯时的界面:
五.总结:
虽然本文用Visual Basic .Net实现一个简单的基于TCP协议的络应用程序。但程序中使用的是NetworkStream作为载体,通过StreamWriter和StreamReader通过操作这个载体从而实现数据传输和接收。这种实现TCP协议方法虽然比较简单,但却无法回避NetworkStream作为络传输、接收数据载体的一个致命的缺陷,那就是NetworkStream只能传输基于文本类型的数据,如果要传输基于字节的数据,使用这种方法就勉为其难了。而套接字(Socket)就能够胜任这项工作,套接字不仅能够实现各种类型数据在络上的传输和接收,也是实现络中其他应用协议的关键。诸位若想真正成为络编程的高手,必须掌握Socket的使用方法。最后希望本文能够开启您编写络应用程序之门,对您掌握更深层次络编程有所帮助。
保妇康栓 海南忻州哪家医院治疗白癜风
怀化看白癜风哪家医院专业
- 上一篇:评论比兰董姐姐炫富谩骂更可怕的X后群体割节能
- 下一篇:美容26266节能