但是每次和客戶端交流時都只能交流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...