2014-11-06 64 views
0

我正在爲java創建一個Server-Client聯網庫。我只是想知道是否推薦使用來自多個類的相同DatagramSocket對象,或者如果它可能導致問題。
爲什麼我是想知道的原因是因爲我認爲它可能是問題,如果你例如從同一個套接字同時發送兩件東西。真的嗎?
這裏是我的意思的例子:
ExampleClass1:Recomended從同一個DatagramSocket從多個類發送數據包?

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)); 
    } 
} 
+0

請參閱http://stackoverflow.com/questions/16498223/is-datagramsocket-send-thread-safe發送系統調用是原子的。 – rafalopez79 2014-11-06 18:45:33

+0

謝謝!那正是我正在尋找的。 – 2014-11-06 20:36:48

回答

0

不,它是不正確的。您可以同時發送多個線程而不會出現問題。

相關問題