• 大小: 0M
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-15
  • 语言: 其他
  • 标签: 其他  

资源简介

zw_selectChat.zip

资源截图

代码片段和文件信息

///客户端
#include
#include
#include
using namespace std;

#pragma comment(lib“ws2_32.lib“)

DWORD WINAPI Recv( LPVOID lpParameter);
bool socketSelect(SOCKET socketint Timeoutbool Read);
char recvBuf[100]=“0“;//accept the information
char getInput[100]=“0“;//store the input
SOCKET soc=NULL;
SOCKADDR_IN sockSrv;


int main()
{
HANDLE hThread;
WORD wVersionRequested;
WSADATA wsaData;
int err;

wVersionRequested=MAKEWORD(11);

err=WSAStartup(wVersionRequested&wsaData);
if(err!=0)
{
return 0;
}
if(LOBYTE(wsaData.wVersion)!=1 || HIBYTE(wsaData.wVersion)!=1 )
{
WSACleanup();
return 0;
}
soc=socket(AF_INETSOCK_STREAMIPPROTO_TCP);

sockSrv.sin_addr.S_un.S_addr=inet_addr(“211.80.203.73“);
sockSrv.sin_family=AF_INET;
sockSrv.sin_port=htons(6000);
int con=connect(soc(sockaddr*)&sockSrvsizeof(SOCKADDR));//connect to the server avaliable
if(con==SOCKET_ERROR)
{
cout<<“connect error!“< return 0;
}
//the second stage
hThread=CreateThread(NULL0RecvNULL0NULL);
while(getInput!=“q“)
{
cout<<“please input your words:“< cin>>getInput;
if(socketSelect(soc1000false)&&getInput!=NULL)
{
send(socgetInputstrlen(getInput)+10);
}
}
closesocket(soc);//close immediately
WSACleanup();
return 0;
}
DWORD WINAPI Recv( LPVOID lpParameter)
{
while(1)
{
//recv(socrecvBuf1000);
//cout< //memset(recvBuf0sizeof(recvBuf));
if(socketSelect(soc1000true))
{
int i=recv(socrecvBuf1000);
if(i>0)
{
cout< memset(recvBuf0sizeof(recvBuf));
}
else
{
cout<<“the server has been shut down! please log in again!“< break;
}

}
}
return 0;
}
bool socketSelect(SOCKET socketint nTimeoutbool bRead)
{
fd_set fdset;
timeval tv;
FD_ZERO(&fdset);
FD_SET(soc&fdset);
nTimeout=(nTimeout>1000?1000:nTimeout);
tv.tv_sec=0;
tv.tv_usec=nTimeout;

int iRet=0;
if(bRead)
{
iRet=select(0&fdsetNULLNULL&tv);
}
else
{
iRet=select(0NULL&fdsetNULL&tv);
}

if(iRet <= 0) {
return FALSE;
} else if (FD_ISSET(soc &fdset)){
return TRUE;
}
return false;
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件        2387  2019-01-05 23:51  \selectChat.cpp
     文件          36  2019-01-05 23:51  \no.txt

评论

共有 条评论