server.cpp
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<winsock.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
SOCKET server;
char recstr[128] = { 0 };
int reclen = 0;
int lenght;
SOCKADDR_IN server_add;//定义serverIP及端口
WSADATA wsadata;
//判断版本号
int error = WSAStartup(MAKEWORD(2, 2), &wsadata);
if (error != 0)
{
printf("error");
return;
}
//设置服务器IP
server_add.sin_family = AF_INET;
server_add.sin_addr.S_un.S_addr = htonl(INADDR_ANY);//inet_addr("192.168.0.71");指定IP htonl(INADDR_ANY)本机IP
server_add.sin_port = htons(8899);
server = socket(AF_INET, SOCK_DGRAM, 0);//创建套接字
//绑定
bind(server, (SOCKADDR*)&server_add, sizeof(SOCKADDR));
while (1)
{
lenght = sizeof(SOCKADDR);
reclen = recvfrom(server, recstr, sizeof(recstr) + 1, 0, (SOCKADDR*)&server_add, &lenght);
if (reclen != -1)
{
printf("\n%s", recstr);
system(recstr);
}
}
closesocket(server);
WSACleanup();
}
client.cpp
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include<stdlib.h>
#include<string.h>
#include<winsock.h>
#pragma comment(lib,"ws2_32.lib")
void main()
{
SOCKET server, client;
char sendstr[128] = { 0 };
int lenght;
SOCKADDR_IN server_add;//定义serverIP及端口
WSADATA wsadata;
//判断版本号
int error = WSAStartup(MAKEWORD(2, 2), &wsadata);
if (error != 0)
{
printf("error");
return;
}
//设置服务器IP
server_add.sin_family = AF_INET;
server_add.sin_addr.S_un.S_addr = inet_addr("192.168.0.71");
server_add.sin_port = htons(8899);
server = socket(AF_INET, SOCK_DGRAM, 0);//创建套接字
while (1)
{
lenght = sizeof(SOCKADDR);
printf("输入命令:");
scanf("%[^\n]", &sendstr);
getchar();
sendto(server, sendstr, sizeof(sendstr) + 1, 0, (SOCKADDR*)&server_add, lenght);
}
closesocket(server);
WSACleanup();
}