简体   繁体   English

如何从单个套接字连续发送和接收数据报包。

[英]How to send and receive datagram packets continuously from single socket.

I want to send and receive datagrampacket from same port. 我想从同一端口发送和接收datagrampacket。 Same socket should be used to send packets and receive packets. 应该使用相同的套接字发送数据包和接收数据包。 If i send it then it can not receive incoming packets at the same time. 如果我发送它,则它不能同时接收传入的数据包。 How to synch send and receive packets from single port? 如何同步从单个端口发送和接收数据包?

You could try something as the following: 您可以尝试以下操作:

    DatagramSocket serverSocket = new DatagramSocket(9876);             
    byte[] receiveData = new byte[1024];             
    byte[] sendData = new byte[1024]; 

    //receiving:
    DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length);
    serverSocket.receive(receivePacket);

    InetAddress callerIPAddress = receivePacket.getAddress();                   
    int callerPort = receivePacket.getPort();

    //sending:  
    sendData = "ciao".getBytes();
    DatagramPacket sendPacket =  new DatagramPacket(sendData, sendData.length, callerIPAddress, callerPort);
    serverSocket.send(sendPacket); 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM