欢迎来到天天文库
浏览记录
ID:44173683
大小:65.50 KB
页数:4页
时间:2019-10-19
《VB[1].NET通过Socket实现字符串发送与接收程序》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、先查看MSDN帮助系统,找到socket类,有详细的创建套接字、使用套接字侦听、使用客户端套接字的说明。 打开VS.Net2003,新建一个VB.Net工程,名称为Server。在界面上添加一个列表框,两个按钮。界面如图所示: 我们使用多线程来实现 先导入命名空间: ImportsSystem.Net.sockets ImportsSystem.net ImportsSystem.Text ImportsSystem.Threading 定义两个窗体变量 DimsAsSocket=Nothing
2、 DimtAsThread 新建一个过程,用于处理接收到的Socket数据包 PublicSubWaitData() s=NewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp)'''使用TCP协议 DimlocalEndPointAsNewIPEndPoint(IPAddress.Parse("127.0.0.1"),1024) '''指定IP和Port s.Bind(localEndPoint) '''绑定到该S
3、ocket s.Listen(100) '''侦听,考试#大提示最多接受100个连接 While(True) Dimbytes(1024)AsByte '''用来存储接收到的字节 DimssAsSocket=s.Accept() '''若接收到,则创建一个新的Socket与之连接 ss.Receive(bytes) '''接收数据,若用ss.send(Byte()),则发送数据 ListBox1.Items.Insert(0,Encoding.Unicode.GetString(bytes))'''
4、将其插入到列表框的第一项之前 '''若使用Encoding.ASCII.GetString(bytes),则接收到的中文字符不能正常显示 EndWhile EndSub 在BtnStart的click事件中,加入如下代码: t=NewThread(AddressOfWaitData) '''建立新的线程 t.Start() '''启动线程 BtnStart.Enabled=False '''按钮不可用,避免另启线程 在BtnStop的click事件中,加入如下代码: Try s.Close()
5、 '''关闭Socket t.Abort() '''中止线程 Catch Finally BtnStart.Enabled=True '''启用BtnStart EndTry 为了防止用户不点击Stop直接退出,而不能使线程结束,则应在窗体的closing事件中,加入如下代码: Try s.Close() t.Abort() Catch EndTry 下面新建一个VB.Net工程,名称为Client。在界面上添加一个文本框,一个按钮。界面如图所示: 先导入命名空间: ImportsS
6、ystem.Net.sockets ImportsSystem.net ImportsSystem.Text 在BtnSend的click事件中,加入如下代码: Try Dimbytes(1024)AsByte Dims=NewSocket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp) DimlocalEndPointAsNewIPEndPoint(IPAddress.Parse("127.0.0.1"),1024) s
7、.Connect(localEndPoint) s.Send(Encoding.Unicode.GetBytes(TextBox1.Text)) s.Close() CatchexAsException EndTry 这样,这个小程序就完成了,当然可以添加新的功能,使其功能更强大!
此文档下载收益归作者所有