C++多线程SOCKET通信研究日志
近期在研究C++程序,基本思路:作为服务接受监听4500端口,当存在一个连接时,创建一个新的线程,并在线程中实现数据的接受和发送工作,为了避免因收发造成的阻塞,可以创建2个线程用于收和发送。
思路2:通过选择的模式进行数据匹配发送数据,发一次关一次。暂定思路,以下代码并不完整,仅供本人研究
#include <winsock2.h>
#pragma comment(lib,"ws2_32")
#include <stdio.h>
#include <iostream.h>
#include <stdlib.h>
#include <conio.h>
#include <windows.h>
int signal[100]; //建立的套字接描诉符号。
int undernum = 1;//每个套字接描诉符号对应的下标
//多线程
DWORD WINAPI run(LPVOID p)
{
printf("three%d run..\n",p);
//Sleep((DWORD)p*3000);
//return (DWORD)p;
while(1){
//CODES
}
}
int main()
{
WSADATA wsaData;
HANDLE three[255]; //线程
DWORD dwThId[255]; // 线程id号
int undernum=0; //角标
WORD sockVersion = MAKEWORD(2, 2);
//加载winsock库
if(WSAStartup(sockVersion, &wsaData) != 0)
return 0;
// 创建套节字
SOCKET sListen = socket(AF_INET, SOCK_STRE