select模式下的tcp伺服器

2021-07-11 07:25:10 字數 1036 閱讀 8518

但是每次和客戶端交流時都只能交流2,3次就斷了,不知道什麼原因

#include

#include

#include

#include

#pragma comment(lib,"ws2_32.lib")

using namespace std;

int main()

int nport = 5150;

//建立監聽套接字

socket slisten = socket(af_inet, sock_stream, ipproto_tcp);

sockaddr_in sin;

sin.sin_family = af_inet;

sin.sin_port = htons(nport);

sin.sin_addr.s_un.s_addr = htonl(inaddr_any);

//繫結套接字到本地機器

if (bind(slisten, (sockaddr*)&sin, sizeof(sin)) == socket_error)

//進入監聽模式

listen(slisten, 5);

//select模型處理過程

//1)初始化乙個套接字集合fdsocket,新增監聽套接字控制代碼到這個集合

fd_set fdsocket;

fd_set writeset;

fd_set readset;

fd_zero(&fdsocket);

fd_set(slisten, &fdsocket);

//fd_set(connect, &fdsocket);

while (true)

//檢查是否存在客戶端的連線

//    }

//遍歷套接字

for (int i = 0; i < fdsocket.fd_count; i++)

else

else

}if (fd_isset(saccept, &writeset))}}

}return 0;

}

多個TCP下select的使用

這是網上下的 體現了select的使用 dword winapi connect thread lpvoid lpparam fd set fdrecv fd set fdsend timeval seltime int irecv 0 int isend 0 carrayarraysendbuff...

TCP流式套接字的select模式程式設計

選擇 select 模型是winsock中最常見的 i o模型。核心便是利用 select 函式,實現對 i o的管理!利用 select 函式來判斷某socket上是否有資料可讀,或者能否向乙個套接字寫入資料,防止程式在socket處於阻塞模式中時,在一次 i o 呼叫 如send或recv ac...

用select模式實現TCP和UDP的混合監聽

selecttestserver.cpp 定義控制台應用程式的入口點。tcp udp復用server select非阻塞模式 ip 127.0.0.1 tcp port 5001 udp port 5000 include stdafx.h include pragma comment lib,ws...