2013-05-29 2 views
0

Когда я нажимаю кнопку, мой сервер отправляет запрос клиенту, а затем клиент должен передать запрос в случай выбора, чтобы выяснить, что делать.Кодирование и выбор случая

Но это не работает. Предположим, сервер должен был запросить «i», клиент получит «i», но полностью избежит моего варианта выбора.

Как я могу это исправить?

Private Sub Timer1_Tick(ByVal sender As System.Object, 
         ByVal e As System.EventArgs) Handles Timer1.Tick 
    If _TCPStream.DataAvailable Then 
    Dim rcvdbytes(_TCPClient.ReceiveBufferSize) As Byte 
    _TCPStream.Read(rcvdbytes, 0, CInt(_TCPClient.ReceiveBufferSize)) 
    Dim request As String = System.Text.Encoding.ASCII.GetString(rcvdbytes) 
    Execute_Action(request) 
    End If 
End Sub 

Private Sub Execute_Action(ByVal request As String) 
    msgbox(request) 'Says the request is "i" but do nothing 
    Select Case request 
    Case "i" 
     messagebox.show("Hello") 
    End Select 
End Sub 
+0

Я отредактировал ваше название. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

Сделайте этот msgbox ("[" & request & "]") или проверьте длину строки. Возможно, есть место или скрытые персонажи. –

+0

По-видимому, у моего «i» есть 8193 пробела. Это плохо, я думаю, мне нужно будет изучить RegEx –

ответ

1

Уверен, у вас есть скрытые символы в этой строке. Вы должны использовать функцию Mid() для выбора правильной подстроки.