TCP同步與非同步

2021-09-08 08:37:13 字數 721 閱讀 8372

首先我簡單介紹一下同步tcp程式設計 與非同步tcp程式設計。

1 (1)同步:在服務端我們通常用乙個tcplistener來監聽乙個ip和埠。客戶端來乙個請求的連線,在服務端可以用同步的方式來接收,也可以用非同步的方式去接收。比如:

tcplistene server = new tcplistener(ipaddress.parse("127.0.0.1"), port);

tcpclient tc =server.accepttcpclient();

這裡就乙個同步接收的方式,那為什麼說同步呢,因為在這個埠下如果同是來了兩個客戶端請求,第乙個連線得到響應,與服務端建立通訊,而第二個請求就會被一直阻塞直到第乙個請求完成操作,各個請求之間就好像排個隊,順序執行,這就是同步。

2 (2)非同步呢,就是同時來兩個或者多個請求,服務端就同時響應多個客戶端,同時給他們連線。各個客戶端與伺服器的通訊是並行的,乙個客戶端不必等另乙個客戶端完成操作。通常用這兩個方法來接收乙個客戶端請求。

beginaccepttcpclient()

endaccepttcpclient()

3 (3)阻塞 呼叫是指呼叫結果返回之前,當前執行緒會被掛起。比如:console.readline(),如果你不向控制台輸入資料,這個方法就會一直等待,知道你輸入資料後才會向下執行。這個時候當前執行緒被掛起來了,讓cpu去做其他事情。

4 (4)非阻塞和阻塞的概念相對應,指在不能立刻得到結果之前,該函式不會阻塞當前執行緒,而會立刻返回。

雙機tcp同步 TCP同步與非同步

首先我簡單介紹一下同步tcp程式設計 與非同步tcp程式設計。1 1 同步 在服務端我們通常用乙個tcplistener來監聽乙個ip和埠。客戶端來乙個請求的連線,在服務端可以用同步的方式來接收,也可以用非同步的方式去接收。比如 tcplistene server new tcplistener i...

同步與非同步

同步執行模式 所謂同步執行模式,是指語句在同步執行模式下,將始終保持對程式流的控制,直至 程式結束。如查詢操作,客戶機上的應用程式在向伺服器發出查詢操作的指令後,將 一直等待伺服器將查詢結果返回客戶機端,然後才繼續進行下一步操作。眾所周知,應用程式要從乙個大表中刪除所有的記錄將是非常耗時的,如果應用...

同步與非同步

同步與非同步 所謂同步就是乙個任務的完成需要依賴另外乙個任務時,只有等待被依賴的任務完成後,依賴的任務才能算完成,這是一種可靠的任務序列。要麼成功都成功,失敗都失敗,兩個任務的狀態可以保持一致。而非同步是不需要等待被依賴的任務完成,只是通知被依賴的任務要完成什麼工作,依賴的任務也立即執行,只要自己完...