winsock程式設計如何設定傳送與接收超時引數?

2021-06-02 12:49:57 字數 792 閱讀 9648

在tcp通訊中,為了防止阻塞式呼叫send函式與recv函式時程式在這兩個函式處等待過久甚至一直等待,我們需要設定send函式與recv函式的超時時間長度。

要達到這個目的,在winsock程式設計中,我們呼叫setsockopt來完成這個任務。

int setsockopt(

sockets,

intlevel,

intoptname,

const char far*optval,

intoptlen);

此處以乙個用例來說明如何解決設定傳送超時與接收超時設定的問題:

int ntimeout = 1000;

//設定傳送超時為1000ms

if (socket_error == setsockopt( this->m_socket, sol_socket, so_sndtimeo, (char *)&ntimeout, sizeof(int)))

//設定接收超時為1000ms

if (socket_error == setsockopt( this->m_socket, sol_socket, so_rcvtimeo, (char *)&ntimeout, sizeof(int)))

winsock程式設計

伺服器端 include include pragma comment lib,ws2 32.lib using namespace std void do service socket conn while 1 不斷接收客戶端傳送的資料 if lobyte wsadata.wversion 2 h...

Winsock程式設計框架

microsoft的windows sockets api是windows下的網路應用程式介面,為了適用於 windows下的訊息機制和非同步的i o選擇操作,windows sockets api在功能上擴充了將近 20個函式,其中擴充的部分均冠以字首wsa windows sockets asy...

winsock程式設計(一)

一 windows sockets 背景知識 socket的定義。socket控制代碼型別的描述。socket的應用領域。windowssockets規範為windows定義了一套面向位元組相容的網路程式設計介面。windowssockets基於unix socket 伯克利軟體發行機構,bsd,r...