Я пытаюсь передать программу Java с C#, но она не работает.UDP-связь между Java и C#
код действительно основной, здесь:
Это клиент Java
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) {
}
}
А вот это 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);
}
C# сервер является Unity файл, я имею в виду, я выполняю его из Unity, поэтому Start - это первый вызванный метод.
Я хотел бы, чтобы они связывались через порт 10000 (или любой другой) на моем компьютере, начало java и начало C# кажутся выполненными, но обратный вызов никогда не вызывается.
Любые идеи о том, почему он не работает? Спасибо вам всем.
Я также попытался использовать блокировку Receive in C#, но сообщение так и не было получено. Так что проблема может быть в связи, но я не могу ее найти. – JOSEMAFUEN