16,554
社区成员
发帖
与我相关
我的任务
分享
Private Sub frmLogin_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Try
Dim bytes(1024) As Byte
Dim localEndPoint As New IPEndPoint(IPAddress.Parse("192.168.1.6"), 1024)
s.Connect(localEndPoint)
s.Send(Encoding.Unicode.GetBytes("ListUser"))
'==================以上发送都成功了================
s.Receive(bytes)
MessageBox.Show(Encoding.Unicode.GetString(bytes, 0, 1024))
'=================然后客户端怎么接收发送的服务器端处理过的数据呢? 以上两步不成功
s.Close()
Catch ex As Exception
MessageBox.Show(ex.ToString)
End Try
End Sub
Imports System.Net.Sockets
Imports System.Net
Imports System.Text
Imports System.Threading
Public Class frmServer
Dim s As Socket = Nothing
Dim t As Thread
Public Sub WaitData()
s = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) '使用TCP协议
Dim localEndPoint As New IPEndPoint(IPAddress.Parse("192.168.1.6"), 1024) '指定IP和Port
s.Bind(localEndPoint) '绑定到该Socket
s.Listen(100) '侦听,最多接受100个连接
While (True)
Dim bytes(1024) As Byte '用来存储接收到的字节
Dim ss As Socket = s.Accept() '若接收到,则创建一个新的Socket与之连接
ss.Receive(bytes) '接收数据,若用ss.send(Byte()),则发送数据
Dim Str = Encoding.Unicode.GetString(bytes)
lstMessage.Items.Insert(0, Str) '将其插入到列表框的第一项之前
Select Case Str
Case "ListUser"
Str = "ListUserOK"
End Select
bytes = Encoding.Unicode.GetBytes(Str)
ss.Send(bytes)
ss.Close() '=============这里需要用Close关闭吗?
'可能我问的问题比较初级呵呵... 下一个问题是客户端应该怎么接收?
End While
End Sub
Private Sub btnStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnStart.Click
t = New Thread(AddressOf WaitData) '建立新的线程
t.Start() '启动线程
btnStart.Enabled = False
End Sub
Private Sub btnEnd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnd.Click
Try
s.Close() '关闭Socket
t.Abort() '中止线程
Catch
Finally
btnStart.Enabled = True '启用BtnStart
End Try
End Sub
Private Sub frmServer_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
Try
s.Close()
t.Abort()
Catch
End Try
End Sub
End Class
Dim s As Socket = Nothing
Dim t As Thread
Public Sub WaitData()
s = New Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp) '使用TCP协议
Dim localEndPoint As New IPEndPoint(IPAddress.Parse("192.168.1.6"), 1024) '指定IP和Port
s.Bind(localEndPoint) '绑定到该Socket
s.Listen(100) '侦听,最多接受100个连接
While (True)
Dim bytes(1024) As Byte '用来存储接收到的字节
Dim ss As Socket = s.Accept() '若接收到,则创建一个新的Socket与之连接
ss.Receive(bytes) '接收数据
Dim Str=Encoding.Unicode.GetString(bytes)
'=========================================
'处理数据
Str="XXX|XXX"
'请问然后怎么将处理过后的数据发回给客户端
'=========================================
End While
End Sub