javasocket多線程
發布時間: 2025-01-01 04:59:47
⑴ java socket多線程的問題可以多個線程使用同一個socket嗎
可以寫個demo試一下啊,應該是可以的,socket接收到的消息只能被其中一個線程接收。線程1 和2 接受到的肯定不是同一個消息。會有先後之分。看你怎麼控制。比如從接收的消息是ABCD,那麼這相當於一個資源。線程1和2在這里拿消息,拿到之後,socket裡面就少了,比如線程1拿到AB,線程2拿到CD
⑵ 關於Socket多線程編程的recv函數問題
建議設個flag,在服務端進這個while後,如果沒處理(文件沒發送)完畢前,不在進入,或多開幾個thread設置不同埠等待接收客戶端的要求。
⑶ Java多線程Socket的關閉問題
創建一個新線程時將這個線程對象的引用賦給一個變數:
MyThread thread1 = new MyThread();
MyThread thread2 = new MyThread();
thread1.start();
thread2.start();
在你的線程類中應該提供一個方法,用於關閉這個線程所創建的socket連接。例如你的MyThread類中應該提供一個關閉socket的方法:
public void closeSocket()
{
//這里關閉當前對象的socket
}
這樣,如果你想關閉thread1中的連接(該連接使用8888埠),則只要調用這個方法:
thread1.closeSocket();
熱點內容