我有幾個關於Java套接字編程的問題。跨多個套接字的原子套接字消息
我有一個進程需要跨多個套接字連接發送一條消息。 現在我有這個如下
Socket[] connections; //Already initialized with all connections for i=0 to connections.length - 1 Send Message across connection[i]; // a new PrintWriter linked to the output stream
是,作爲原子作爲這個廣播會這樣?或者在並行環境中有潛力可能不會全部在幾乎同一時刻發送?
在併發環境是輸出流套接字連接(設置爲一個PrintWriter)已經相互排斥?假設兩個線程想同時寫入PrintWriter。輸出到流中的任何輸出是否會在PrintWriter上沒有明確的互斥排除?
從原理上來說,不可能發送多個消息,按照定義,輸出介質是串行(以太網)。問題是你願意妥協什麼? –
您正在使用TCP,並且TCP中沒有「消息」這樣的東西,更不用說「原子」消息了。可能你真正在尋找的是UDP多播? – EJP