建议从多个类发送来自相同DatagramSocket的数据包?

时间:2014-11-06 18:31:48

标签: java network-programming client-server

我正在为java创建一个Server-Client网络库。我只是想知道是否建议使用来自多个类的相同DatagramSocket对象,或者是否可能导致问题。
想知道的原因是因为我认为如果你从同一个套接字同时发送两个东西可能会有问题。这是真的吗? 这是我的意思的一个例子:
ExampleClass1:

public class ExampleClass1 {

    // The socket
    DatagramSocket socket;

    public ExampleClass1() {
        // Create the socket
        socket = new DatagramSocket(1111);

        // Create an instance of the ExampleClass2
        ExampleClass2 class2 = new ExampleClass2(socket);
    }

    public static void main(String[] args) {
        // Send something through the socket
        socket.send(new DatagramPacket(new byte[] {}, 0, 0.0.0.0, 0001));
    }
}

ExampleClass2:

public class ExampleClass2 {

    // Another socket object
    DatagramSocket socket;

    public ExampleClass2(DatagramSocket exampleClass1Socket) {
        // Set this class's socket object to the socket in the ExampleClass1
        this.socket = exampleClass1Socket;
    }

    public static void main(String[] args) {
        // Send something from the socket
        socket.send(new DatagramSocket(new byte[] {}, 0, 0.0.0.0, 0000));
    }
}

1 个答案:

答案 0 :(得分:0)

不,它不是真的。您可以同时从多个线程发送,没有任何问题。