Здравствуйте, дорогие программисты. Мне нужно вашей помощи.Android Socket (Client-Server)
Я сделал очень очень простой проект java socket (client-server), что сработало хорошо. Но когда я использовал этот клиентский код, чтобы сделать его для android, он не работает, но я делаю только клиентский код для android, код сервера снова находится в Java (может быть, я тоже должен сделать код сервера в android?)
сервера (в Java)
public class DailyAdviceServer{
public void go() {
try {
ServerSocket serverSock = new ServerSocket(16242, 50);
while (true)
{
Socket sock = serverSock.accept();
PrintWriter writer = new PrintWriter(sock.getOutputStream());
String advice = getAdvice();
writer.println(advice);
writer.close();
System.out.println("smth");
}
} catch (IOException ex)
{
ex.printStackTrace();
}
}
public static void main(String[] args)
{
DailyAdviceServer server = new DailyAdviceServer();
server.go();
}
}
Client (в Android)
public class MainActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
try {
TextView tv = (TextView) findViewById(R.id.tv);
Socket s = new Socket("127.0.0.1", 4242);
InputStreamReader streamReader = new InputStreamReader(s.getInputStream());
BufferedReader reader = new BufferedReader(streamReader);
String advice = reader.readLine();
tv.setText("Today you should: " + advice);
reader.close();
}
catch (IOException ex)
{
ex.printStackTrace();
}
}
Похоже, вы подключаетесь к Android стороне локальный - то, что вы имеете в виду, чтобы подключиться к IP-адрес вашего сервер (а не Android-устройство) – powerj1984
Вы также не должны делать сетевые подключения ('' s Socket' и т. Читайте: https://developer.android.com/training/basics/network-ops/connecting.html – zapl