#简单的windows下网络通信编程 chenxing 在vc6.0下即可
//客户端
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
int main(void)
{
WSADATA wsa;
WSAStartup(MAKEWORD(2,2),&wsa);
SOCKET clientSocket;
clientSocket = socket(AF_INET,SOCK_DGRAM,0);
struct sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr("127.0.0.1");
addr.sin_port = htons(8000);
bind(clientSocket,(struct sockaddr *)&addr,sizeof(addr));
char buf[1024];
while(1)
{
scanf("%s",buf);
sendto(clientSocket,buf,strlen(buf)+1,0,(struct sockaddr *)&addr,sizeof(addr));
}
WSACleanup();
return 0;
}
服务器
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
int main(void)
{
WSADATA wsa; //声明一个变量
WSAStartup(MAKEWORD(2,2),&wsa); //初始化
SOCKET serverSocket;
serverSocket = socket(AF_INET,SOCK_DGRAM,0);
struct sockaddr_in myaddr;
myaddr.sin_family = AF_INET;
myaddr.sin_port = htons(8000);
myaddr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(serverSocket,(struct sockaddr *)&myaddr,sizeof(struct sockaddr));
char buf[1024];
int len;
len = sizeof(myaddr);
printf("start listen...");
while(1)
{
recvfrom(serverSocket,buf,sizeof(buf),0,(struct sockaddr*)&myaddr,&len);
printf("%s\n",buf);
}
WSACleanup();
//关闭
return 0;
}