JavaプログラムをC#と通信しようとしていますが、動作していません。JavaとC#間のUDP通信
コードは本当に基本的なもの、ここにある:
これは
static InetAddress ip;
static int port = 10000;
public static void main(String args[]) {
try {
ip = InetAddress.getByName("127.0.0.1");
DatagramSocket socket = new DatagramSocket(port, ip);
byte[] sendData = new byte[1024];
sendData = "Hola".getBytes();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length, ip, port);
socket.send(sendPacket);
socket.close();
} catch (Exception e) {
}
}
Javaクライアントであり、ここでそれがC#のサーバがユニティであるC#のサーバ
static UdpClient client;
static IPEndPoint sender;
void Start() {
byte[] data = new byte[1024];
string ip = "127.0.0.1";
int port = 10000;
client = new UdpClient(ip, port);
sender = new IPEndPoint(IPAddress.Parse(ip), port);
client.BeginReceive (new AsyncCallback(recibir), sender);
}
static void recibir(IAsyncResult res){
byte[] bResp = client.EndReceive(res, ref sender);
//Convert the data to a string
string mes = Encoding.UTF8.GetString(bResp);
//Display the string
Debug.Log(mes);
}
ですファイル、私はUnityからそれを実行するので、Startは最初に呼び出されるメソッドです。
コンピュータのポート10000(またはその他のもの)を介して通信することをお勧めします.JavaのメインとC#の起動は実行されているようですが、コールバックは呼び出されません。
なぜ機能していないのでしょうか?皆さん、ありがとうございました。
私はBlocking Receiveをc#で使用しようとしましたが、メッセージは受信されませんでした。だから問題は接続にあるかもしれないが、私はそれを見つけることができない。 – JOSEMAFUEN