Gniazdo Android (klient - serwer)
Witajcie drodzy programiści, potrzebuję waszej pomocy.
Zrobiłem bardzo, bardzo prosty projekt gniazda java (klient-serwer), co działało dobrze. Ale kiedy użyłem tego kodu klienta do zrobienia go dla Androida, to nie działa, ale robię tylko kod klienta dla Androida, kod serwera jest znowu w Javie (może powinienem zrobić kod serwera również w Androidzie?)
Serwer (w Javie)
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();
}
}
Klient (w systemie 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();
}
}