TCP ECHO
服务器端
// : 定义控制台应用程序的入口点。
#include ""
#ment(lib,"")
#include <>
#include <>
#include <>
#include <>
int _tmain(int argc, _TCHAR* argv[])
{WSAData wsaData;
int err = WSAStartup(WINSOCK_VERSION,&wsaData);
if(0!=err)
{return -1;}
SOCKET sock= socket(, SOCK_STREAM, 0);
if(INVALID_SOCKET==sock) {
printf("socket() Failed: %d\n",WSAGetLastError());
WSACleanup();return -1;}
sockaddr_in LocaAddr;
= ;
=htons(10000);
=htonl(INADDR_ANY);
err = bind(sock, (sockaddr *)&LocaAddr, sizeof(LocaAddr));
if(SOCKET_ERROR==err) {
printf("bind() Failed: %d\n",WSAGetLastError());
closesocket(sock);WSACleanup();return -1;}
err=listen(sock,5);
if(SOCKET_ERROR==err)
{printf("listen() Failed:%d\n", WSAGetLastError());
closesocket(sock);WSACleanup();return -1;}
sockaddr_in ClientAddr;
int AddrLen =sizeof(ClientAddr);
SOCKET sockConnected=accept(sock,(sockaddr*)
&ClientAddr,&AddrLen);
if(INVALID_SOCKET==sockConnected)
{printf("accpet() Failed:%d\n", WSAGetLastError());
closesocket(sock);WSACleanup();return -1;}
char rbuf[1024];
while(1)
{memset(rbuf,0,1024);
int rByte = recv(sockConnected,rbuf,1024,0);
if(SOCKET_ERROR==rByte) /*出错处理*/
{printf("recv Failed: %d\n",WSAGetLastError());
closesocket(sockConnected)
TCP协议代码 来自淘豆网www.taodocs.com转载请标明出处.