//本工程还需链接一个库文件
//解决方案一:程序代码中加入#pragma comment(lib, "Ws2_32.lib")
//解决方案二:在project\setting\link 中object/library modules加入 ws2_32.lib
//客服端
#pragma comment(lib, "Ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
WSACleanup( );
return;
}
SOCKET sockClient=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;//服务端信息
addrSrv.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");
addrSrv.sin_port=htons(6000);
addrSrv.sin_family=AF_INET;
connect(sockClient,(sockaddr*)&addrSrv,sizeof(sockaddr));
char recvBuffer[100];
recv(sockClient,recvBuffer,100,0);
printf("%s\n",recvBuffer);
char sendBuffer[100];
sprintf(sendBuffer,"This is Client!\n");
send(sockClient,sendBuffer,100,0);
closesocket(sockClient);
WSACleanup();
}
//本工程还需链接一个库文件
//解决方案一:程序代码中加入#pragma comment(lib, "Ws2_32.lib")
//解决方案二:在project\setting\link 中object/library modules加入 ws2_32.lib
//服务端
#pragma comment(lib, "Ws2_32.lib")
#include <Winsock2.h>
#include <stdio.h>
void main()
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 ) {
/* Tell the user that we could not find a usable */
/* WinSock DLL. */
WSACleanup( );
return;
}
SOCKET sockRrv=socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
addrSrv.sin_port=htons(6000);
addrSrv.sin_family=AF_INET;
bind(sockRrv,(SOCKADDR *)&addrSrv,sizeof(sockaddr));
listen(sockRrv,5);
SOCKADDR_IN addrClient;
int len=sizeof(sockaddr);
while(1)
{
SOCKET sockConn=accept(sockRrv,(SOCKADDR *)&addrClient,&len);
char sendBuffer[100];
sprintf(sendBuffer,"welcome %s to www.baidu.com",inet_ntoa(addrClient.sin_addr));
send(sockConn,sendBuffer,strlen(sendBuffer)+1,0);
char recvBuffer[100];
recv(sockConn,recvBuffer,100,0);
printf("%s\n",recvBuffer);
closesocket(sockConn);
}
}