/****TcpServ*****/
#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))
{
WSACleanup();
return;
}
SOCKET sockSer = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrSer;
addrSer.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSer.sin_family = AF_INET;
addrSer.sin_port = htons(6000);
bind(sockSer, (SOCKADDR*)&addrSer, sizeof(SOCKADDR));
listen(sockSer, 5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while(1)
{
SOCKET sockConn = accept(sockSer, (SOCKADDR*)&addrClient, &len);
char sendBuf[100];
sprintf(sendBuf, "welcome %s to Socket Application",inet_ntoa(addrClient.sin_addr));
send(sockConn, sendBuf,strlen(sendBuf)+1, 0);
char recvBuf[100];
recv(sockConn, recvBuf, 100, 0);
printf("%s/n", recvBuf);
closesocket(sockConn);
}
}
/****TcpClient*******/
#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))
{
WSACleanup();
return;
}
SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrSer;
addrSer.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrSer.sin_family = AF_INET;
addrSer.sin_port = htons(6000);
connect(sockClient, (SOCKADDR*)&addrSer, sizeof(SOCKADDR));
char recvBuf[100];
recv(sockClient, recvBuf, 100, 0);
printf("%s/n", recvBuf);
send(sockClient, "This is long speaking", strlen("This is long speaking")+1, 0);
closesocket(sockClient);
WSACleanup();
}