Client.classでのみパケットを送信できますが、Server.classでパケットを受信できません。クライアントとサーバーは、いずれの場合も2つのスレッドです。更新するMainActivity
には、ハンドラーを使用します。ハンドラーは機能しますが(テストしました)、Server.classは機能しません。
public class Client implements Runnable {
//@Override
public void run() {
do{
try {
InetAddress serverAddr = InetAddress.getByName(Server.CLIENTIP);
DatagramSocket socket = new DatagramSocket();
byte[] buf = ("Test").getBytes();
DatagramPacket packet = new DatagramPacket(buf, buf.length,serverAddr,Server.CLIENTPORT);
socket.send(packet);
}
catch (Exception e) {}
}
while(open == true);
}
}
public class Server implements Runnable {
public static String CLIENTIP = "192.168.0.13";//send-ip
public static String SERVERIP = "10.0.0.18";//receive-ip
public static final int CLIENTPORT = 5000; //send-port
public static final int SERVERPORT = 5001; //receive-port
//@Override
public void run() {
do
{
try {
DatagramSocket socket = new DatagramSocket(SERVERPORT);
byte[] buf = new byte[256];
DatagramPacket rpacket = new DatagramPacket(buf, buf.length);
socket.receive(rpacket);
String x = new String(rpacket.getData());
MainActivity.glText = x;
MainActivity.mHandler.post(MainActivity.mTimer);
}
catch (Exception e) {}
}
while(open == true);
}
}
この問題の解決策はありますか?あなたの答えをありがとう!;)