Я новичок в Android. Я пытался сделать сервер на vb.net (vb) и могу отправлять сообщения в приложение для Android (клиент). Я видел много обучающих программ, касающихся сервера и клиента (Java-сервер для Android-клиента | C # сервер для Android-клиента). Я нашел код в vb.net сервера в качестве простого примера, но когда я тестировал его с другим клиентским кодом в Android, он не работал (уже настраивал IP и порт).
Я не понимаю, что может быть не так
КОД СЕРВЕР VB.NET
Dim server As New TcpListener(1371)
Dim client As New TcpClient
Dim stream As NetworkStream
'BUTTON START
Try
server.Start()
client = server.AcceptTcpClient
'Receive msg'
stream = client.GetStream()
Dim r_byt(client.ReceiveBufferSize) As Byte
stream.Read(r_byt, 0, client.ReceiveBufferSize)
Dim str As String = Encoding.ASCII.GetString(r_byt)
TextBox1.Text = str
'Send msg'
'Dim s_byt() As Byte = Encoding.UTF8.GetBytes("got it" + vbCr)
'stream.Write(s_byt, 0, s_byt.Length)
stream.Close()
Catch ex As Exception
MsgBox(ex.Message)
End Try
КОД КЛИЕНТА ANDROID
public void ini_(View v) {
String mensaje = "asdf";
new AsyncTask < String, Void, String > () {
@Override
protected String doInBackground(String...strings) {
String mensaje = strings[0];
try {
Socket miSocket = new Socket("192.168.1.8", 1371);
// Request data
DataOutputStream flujoSalida = new DataOutputStream(miSocket.getOutputStream());
flujoSalida.writeUTF("TEST");
// Read data
//DataInputStream inputStream = new DataInputStream(miSocket.getInputStream());
//message = inputStream.readUTF();
} catch (UnknownHostException e1) {
mensaje = e1.getMessage();
} catch (IOException e1) {
mensaje = e1.getMessage();
}
return mensaje;
}
@Override
protected void onPostExecute(String result) {
AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();
alertDialog.setTitle("Alert");
alertDialog.setMessage(result);
alertDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "OK",
new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
dialog.dismiss();
}
});
alertDialog.show();
}
}.execute(mensaje);
}
Когда я запускаю сервер с кнопки в vb.net, форма останавливается (как ожидание ответа клиента), после того, как она уже активирована, и тестируем клиента, нажав на кнопку, сервер в vb.net больше не заморожен но не возвращает мне никаких сообщений ..
Если я запускаю сервер, но, находясь в браузере, я выполняю этот код в консоли:
var x = new WebSocket("ws://192.168.1.8:1371")
Я получаю сообщение из заголовка браузера на моем сервере vb.net
https://i.imgur.com/QxYn6Ww.png
Но в клиенте (android), если я делаю то же самое, он возвращает только сообщение, которое я определил, но я не знаю, правильно ли это, что это так
https://i.imgur.com/NMBFEZc.png
Надеюсь, вы мне поможете. Извините, мой плохой английский