[VB ]socket傳接受值問題


Recommended Posts

正在測試一小部分程式

Server跟Client關係的程式

想從Client傳東西過去給Server

Server

Dim ServerSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream,

ProtocolType.Tcp) '建立socket

Dim ep As New IPEndPoint(IPAddress.Parse("140.117.128.70"), 3027) 'ip,port

ServerSocket.Bind(ep)

ServerSocket.Listen(3)

Dim buffer(255) As Byte

Dim bytesReceived As String = ServerSocket.Receive(buffer)

Dim result As String = Encoding.UTF8.GetString(buffer, 0, bytesReceived)

'我是這樣寫 不知道為什麼接不到

'我懷疑是我receive引數用錯 可是我不知道該怎麼使用 微軟教學只說那邊要bytes '我是這樣寫 不知道為什麼接不到

微軟教學只說那邊要bytes

================================================

Client

Dim ClientSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream,

ProtocolType.Tcp) '建立socket

Dim ep As New IPEndPoint(IPAddress.Parse("140.117.128.70"), 3027) 'ip,port

ClientSocket.Connect(ep)

ClientSocket.Send(Encoding.UTF8.GetBytes("aaa")) '傳aaa字串過去server

此內容已被編輯, ,由 真神秘
鏈接文章
分享到其他網站

監聽後應要等候連線要求並接受連線才開始收發資料

不是監聽後就直接接收資料

Dim ServerSocket As New Socket(AddressFamily.InterNetwork, SocketType.Stream,

ProtocolType.Tcp) '建立socket

Dim ep As New IPEndPoint(IPAddress.Parse("140.117.129.231"), 3027)

'ip,port

ServerSocket.Bind(ep)

ServerSocket.Listen(3)

Dim receiveBytes(99999999) As Byte

Dim hostsocket As Socket = ServerSocket.Accept() '這寫法超不直觀 = = ~ 還是JAVA好用

hostsocket.Receive(receiveBytes)

Dim strReturnData As String = Encoding.UTF8.GetString(receiveBytes)

鏈接文章
分享到其他網站

請登入後來留意見

在登入之後,您才能留意見



立即登入