91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

資源簡介

使用C語言Socket實現多線程服務器,TCP與UDP數據傳輸,可以進行多客戶端登陸以及多客戶端同時發送消息,適合剛開始進行網絡技術基礎編程的人士使用。

資源截圖

代碼片段和文件信息

#include?
#include?
#include?

#pragma?comment(lib“Ws2_32.lib“)
using?namespace?std;

#define?BUFFERSIZE?100

void?DisplayHint();

int?main(int?argc?char*?argv[])
{
if(argc?!=3)
{
cout<<“usage:“<<“HwClient?serverip??serverport“< return?0;
}
???
WORD?wVersion;
WSAData?wData;
SOCKET??tcpSudpS;
sockaddr_in?remote;
int?choice;
char?choiceBuf[10];
int?err;
int?udpPort;

????int?ret;
int?addrLen;
char?recvBuf[BUFFERSIZE]?=?““;
char?sendBuf[BUFFERSIZE]?=?““;

wVersion?=?MAKEWORD(22);
err?=?WSAStartup(wVersion&wData);
if(err?!=0)
{
cout<<“Fail?to?laod?socket?dll:“< return?0;
}

????//------------------------
tcpS?=?WSASocket(AF_INETSOCK_STREAMIPPROTO_TCPNULL00);
if(tcpS?==?INVALID_SOCKET)
{
cout<<“Error?code:“< WSACleanup();
return?0;
}

?
????remote.sin_family?=?AF_INET;
????remote.sin_addr.s_addr?=?inet_addr(argv[1]?);???//?server?ip
????remote.sin_port?=??htons(atoi(argv[2]))?;????????//?server?port
err?=?connect(?tcpS?(SOCKADDR*)?&remote?sizeof(remote)?);
if(err?==?SOCKET_ERROR)?
{
cout<<“Failed?to?connect“<????????WSACleanup();
????????return?0;
}

// ret?=?SOCKET_ERROR;
while(1)
{
ret?=?recv(tcpSrecvBufBUFFERSIZE0);
cout<
do
{
cout<<“input?:?GET?UDP?PORT“< ????cin.getline(sendBuf20);
if(strcmp(sendBuf“GET?UDP?PORT“)?!=0)
cout<<“Bad?request.“< }while(strcmp(sendBuf“GET?UDP?PORT“)?!=0);

ret?=?send(tcpSsendBufstrlen(sendBuf)0);
if(ret?==?SOCKET_ERROR)
{
cout<<“send()?failed:“< break;
}

//receive?udp?port
memset(recvBuf0BUFFERSIZE);
ret?=?recv(tcpSrecvBufBUFFERSIZE0);???
udpPort?=?atoi(recvBuf);
cout<<“udp?port?is:“<????????
//------------------------------
//create?udp?socket
udpS?=?WSASocket(AF_INETSOCK_DGRAMIPPROTO_UDPNULL
??????????????????????????0WSA_FLAG_OVERLAPPED);
????if(udpS?==?INVALID_SOCKET)
{
cout<<“create?udp?socket?error:“< ??? return?0;
} ??

????????do{
DisplayHint();
????????cin.getline(choiceBufBUFFERSIZE);
????????????choice?=?atoi(choiceBuf);
???? switch(choice)
{
case?1:
strcpy(sendBuf“GET?CUR?TIME“);
ret?=?send(tcpSsendBufstrlen(sendBuf)0);
????????if(ret?==?SOCKET_ERROR)
{
cout<<“send()?failed:“< break;
}
memset(recvBuf0BUFFERSIZE);
ret?=?recv(tcpSrecvBufBUFFERSIZE0);
????????cout<<“Current?time?is:?“< ????????break;

?case?2:
cout<<“Enter?your?message:“< memset(sendBuf0BUFFERSIZE);
????????cin.getline(sendBufBUFFERSIZE);
????????????????????remote.sin_family?=?AF_INET;
remote.sin_port?=?htons(udpPort);
remote.sin

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----

?????文件??????71680??2014-11-06?17:04??SocketClient\Debug\SocketClient.exe

?????文件?????523892??2014-11-06?17:04??SocketClient\Debug\SocketClient.ilk

?????文件?????953344??2014-11-06?17:04??SocketClient\Debug\SocketClient.pdb

?????文件?????????61??2014-11-05?18:59??SocketClient\Debug\新建文本文檔.txt

?????文件???????4045??2014-11-06?17:04??SocketClient\SocketClient\client.cpp

?????文件????????594??2014-11-06?17:04??SocketClient\SocketClient\Debug\cl.command.1.tlog

?????文件??????29502??2014-11-06?17:04??SocketClient\SocketClient\Debug\CL.read.1.tlog

?????文件????????308??2014-11-06?17:04??SocketClient\SocketClient\Debug\CL.write.1.tlog

?????文件?????189528??2014-11-06?17:04??SocketClient\SocketClient\Debug\client.obj

?????文件??????????2??2014-11-06?17:04??SocketClient\SocketClient\Debug\link-cvtres.read.1.tlog

?????文件??????????2??2014-11-06?17:04??SocketClient\SocketClient\Debug\link-cvtres.write.1.tlog

?????文件??????????2??2014-11-06?17:04??SocketClient\SocketClient\Debug\link-rc.read.1.tlog

?????文件??????????2??2014-11-06?17:04??SocketClient\SocketClient\Debug\link-rc.write.1.tlog

?????文件???????1082??2014-11-06?17:04??SocketClient\SocketClient\Debug\link.command.1.tlog

?????文件???????2600??2014-11-06?17:04??SocketClient\SocketClient\Debug\link.read.1.tlog

?????文件????????386??2014-11-06?17:04??SocketClient\SocketClient\Debug\link.write.1.tlog

?????文件?????????59??2014-11-06?17:04??SocketClient\SocketClient\Debug\SocketClient.lastbuildstate

?????文件???????1744??2014-11-06?17:04??SocketClient\SocketClient\Debug\SocketClient.log

?????文件?????723968??2014-11-06?17:04??SocketClient\SocketClient\Debug\vc110.idb

?????文件?????430080??2014-11-06?17:04??SocketClient\SocketClient\Debug\vc110.pdb

?????文件???????4014??2014-11-05?11:07??SocketClient\SocketClient\SocketClient.vcxproj

?????文件????????944??2014-11-05?11:07??SocketClient\SocketClient\SocketClient.vcxproj.filters

?????文件????????382??2014-11-05?11:10??SocketClient\SocketClient\SocketClient.vcxproj.user

?????文件???32505856??2014-11-06?21:25??SocketClient\SocketClient.sdf

?????文件????????903??2014-11-05?11:05??SocketClient\SocketClient.sln

????..A..H.?????19968??2014-11-06?21:25??SocketClient\SocketClient.v11.suo

?????文件??????33280??2014-11-06?21:22??SocketServer\Debug\SocketServer.exe

?????文件?????322672??2014-11-06?21:22??SocketServer\Debug\SocketServer.ilk

?????文件?????560128??2014-11-06?21:22??SocketServer\Debug\SocketServer.pdb

?????文件????????594??2014-11-06?21:22??SocketServer\SocketServer\Debug\cl.command.1.tlog

............此處省略37個文件信息

評論

共有 條評論