VB.NET Socket 入门(尚未整理完...)
2011-04-12 19:45
337 查看
服务端:
客户端:
Dim address As IPAddress = IPAddress.Parse("192.168.1.5") serverSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) serverSocket.Bind(ipep) serverSocket.Listen(10) While True Try '在套接字上接收接入的连接 clientSocket = serverSocket.Accept() clientThread = New Thread(New ThreadStart(AddressOf ReceiveData)) clientThread.Start() Catch ex As Exception MessageBox.Show("listening Error: " & ex.Message) End Try End While Private Sub ReceiveData() Dim keepalive As Boolean = True Dim s As Socket = clientSocket Dim buffer As [Byte]() = New [Byte](1023) {} '根据收听到的客户端套接字向客户端发送信息 Dim clientep As IPEndPoint = DirectCast(s.RemoteEndPoint, IPEndPoint) lstServer.Items.Add("Client:" & Convert.ToString(clientep.Address) & "(" & clientep.Port & ")") Dim welcome As String = "Welcome to my test sever " Dim data As Byte() = New Byte(1023) {} data = Encoding.ASCII.GetBytes(welcome) s.Send(data, data.Length, SocketFlags.None) While keepalive '在套接字上接收客户端发送的信息 Dim bufLen As Integer = 0 Try bufLen = s.Available s.Receive(buffer, 0, bufLen, SocketFlags.None) If bufLen = 0 Then Continue Try End If Catch ex As Exception MessageBox.Show("Receive Error:" & ex.Message) Return End Try clientep = DirectCast(s.RemoteEndPoint, IPEndPoint) Dim clientcommand As String = System.Text.Encoding.ASCII.GetString(buffer).Substring(0, bufLen) lstServer.Items.Add(clientcommand & "(" & Convert.ToString(clientep.Address) & ":" & clientep.Port & ")") End While End Sub
客户端:
'创建一个套接字 Dim ipep As New IPEndPoint(IPAddress.Parse("127.0.0.1"), 6001) clientSocket = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) '将套接字与远程服务器地址相连 Try clientSocket.Connect(ipep) Catch ex As SocketException MessageBox.Show("connect error: " + ex.Message) Return End Try While True '接收服务器信息 Dim bufLen As Integer = 0 Try bufLen = clientSocket.Available clientSocket.Receive(data, 0, bufLen, SocketFlags.None) If bufLen = 0 Then Continue Try End If Catch ex As Exception MessageBox.Show("Receive Error:" & ex.Message) Return End Try Dim clientcommand As String = System.Text.Encoding.ASCII.GetString(data).Substring(0, bufLen) lstClient.Items.Add(clientcommand) End While '向服务器发送信息 Dim data As Byte() = New Byte(1023) {} data = Encoding.ASCII.GetBytes(txtClient.Text) clientSocket.Send(data, data.Length, SocketFlags.None)
相关文章推荐
- [VB.NET]请问,如何暂停socket的异步接收?
- [VB.NET]关于socket
- [VB.NET]AcceptSocket有问题?
- VB.NET 章鱼哥出品--入门基础Button控件的使用详解(一)
- VB socket编程入门
- vb.net GDI+入门——画笔、画刷和颜色
- SQLite嵌入VB.net开发快速入门教程
- vb.net中的ftp上传、拨号、socket通讯的源码
- vb.net 广播只有本机能收 Socket 客户端不能收 win8
- socket.io入门整理
- vb.net正则表达式快速入门(1)
- Net/C#: 实现支持断点续传多线程下载的 Http Web 客户端工具类 (转,尚未整理)
- ASP.net(VB)编程入门进阶
- vb.net GDI+入门——坐标系统与像素
- Asp.Net Core WebAPI入门整理(三)跨域处理
- vb.net入门2:获取两个数字并相加
- socket.io入门整理
- VB.NET入门基础
- VB.net入门(6):类~构造函数,事件
- socket.io入门整理教程