проверьте эту ссылку http://msdn.microsoft.com/en-us/library/fx6588te.aspx#2 Моя проблема в том, что я не могу держать соединение открытым после получения сообщения от клиента.
Если я сделаю, как сказано в этом примере, соединение закрывается сразу после получения сообщения.
Если я не закрою соединение, я могу получить только одно сообщение и больше ничего.
Если у вас есть какое-то решение, бросьте это так.
Я понял!
Если у кого-то еще есть эта проблема, он должен сделать следующее.
Изменить этот код:
content = state.sb.ToString()
к этому:
content = state.sb.ToString().TrimEnd(New Char() {ChrW(13)})
тогда вы должны изменить это:
If content.IndexOf("<EOF>") > -1 Then
к этому:
If content.IndexOf(New Char() {ChrW(13)}) > -1 Then
это получит Enter (chrw (13)) как конец строки.
тогда вот:
Console.WriteLine("Read {0} bytes from socket. " + vbLf + " Data : {1}", content.Length, content)
' Echo the data back to the client.
Send(handler, content)
вы должны сделать это:
Console.WriteLine("Read {0} bytes from socket. " + vbLf + " Data : {1}", content.Length, mid(content,1,content.length -2))
' Echo the data back to the client.
'Send(handler, content)
content = String.Empty
state.sb.Clear()
handler.BeginReceive(state.buffer, 0, StateObject.BufferSize, 0, New AsyncCallback(AddressOf ReadCallback), state)
И все готово.