0
當我按照以下步驟接收消息併發送回復時,它會失敗。 我正在使用TCP。我需要程序從它收到的同一端口發送數據。如何在C++中偵聽後從同一端口發送數據?
bind()
listen()
accept()
recv()
connect()//it fails to connect here using the same socket.<br>
send()
當我按照以下步驟接收消息併發送回復時,它會失敗。 我正在使用TCP。我需要程序從它收到的同一端口發送數據。如何在C++中偵聽後從同一端口發送數據?
bind()
listen()
accept()
recv()
connect()//it fails to connect here using the same socket.<br>
send()
看來你在理解tcp工作方式時有問題。有一臺服務器和一個客戶端。服務器等待連接,客戶端進行連接。一旦建立連接,服務器和客戶端就可以雙向通信(即都可以發送和接收消息)。當然,他們的角色可能會改變,但這是它的工作方式。因此,服務器的作用:
bind()
listen()
accept()
recv()
send()
它是停留在接受(),直到一個客戶端,該服務器監聽端口上進行連接()。
由於我的解釋非常簡短,我建議你閱讀關於linux套接字的教程this。
你是一個TCP服務器 - 客戶端做連接,而不是你!擺脫連接嘗試。只需發送到您用於recv呼叫的相同套接字。 –
我想從同一個端口發送到另一個客戶端 –