Привет, я пытаюсь отправить данные с android клиента на Python сервер на моем P C, вот код, который я действительно не знаю, что я делаю неправильно, (я не уверен, что понял, как работают сокеты tcp на Javascript), я новичок в кодировании, запускаю эту программу, когда мой мобильный телефон подключен к P C через USB.
Javascript Клиент:
package com.example.app;
import android.os.AsyncTask;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.view.View;
import android.widget.Toast;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.InetAddress;
import java.net.Socket;
public class MainActivity extends AppCompatActivity {
Button btn;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
btn = findViewById(R.id.idBtn);
btn.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Toast.makeText(getApplicationContext(),"should do something",Toast.LENGTH_SHORT).show();
BackgroundTask b = new BackgroundTask();
b.execute();
}
});
}
class BackgroundTask extends AsyncTask<String,Void,String>
{
Socket s;
DataOutputStream dos;
String message;
@Override
protected String doInBackground(String... strings) {
message = "Hello_Javascript";
try {
InetAddress serverAddr = InetAddress.getByName("192.168.1.7");
s = new Socket(serverAddr, 10000);
dos = new DataOutputStream(s.getOutputStream());
dos.writeUTF(message);
dos.close();
}catch(IOException e){
e.printStackTrace();
}
return null;
}
}
}
Python Сервер (должно быть в порядке, так как я могу общаться с другим Python Клиентом)
import socket
# Create a TCP/IP socket
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# Bind the socket to the port
server_address = ('localhost', 10000)
print('starting up port ', server_address)
sock.bind(server_address)
# Listen for incoming connections
sock.listen(1)
while True:
# Wait for a connection
print('waiting for a connection')
connection, client_address = sock.accept()
try:
print('connection from ', client_address)
# Receive the data in small chunks and retransmit it
data = connection.recv(100)
print('received ', data)
finally:
# Clean up the connection
connection.close()
Заранее спасибо!