server.c
// // Created by gxf on 2020/2/7. // #include <stdio.h> #include <sys/socket.h> #include <arpa/inet.h> #include <stdlib.h> #define BUFFSIZE 1024 int main(){ int serverSocketFd = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(1234); serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); int ret = bind(serverSocketFd, (struct sockaddr *)&serverAddr, sizeof(serverAddr)); if (ret) { fprintf(stderr, "bind fail"); exit(1); } struct sockaddr_in cliAddr; int cliAddrLen = sizeof(cliAddr); while (1) { char buff[BUFFSIZE]; int addrLen = sizeof(cliAddr); int readCount = recvfrom(serverSocketFd, buff, BUFFSIZE, 0, (struct sockaddr*)&cliAddr, &addrLen); buff[readCount] = ‘\0‘; printf("Receive from client:%s\n", buff); sendto(serverSocketFd, buff, BUFFSIZE, 0, (struct sockaddr *)&cliAddr, sizeof(addrLen)); } return 0; }
client.c
// // Created by gxf on 2020/2/7. // #include <stdio.h> #include <sys/socket.h> #include <arpa/inet.h> #define BUFSIZE 1024 int main(){ int clientSocketFd = socket(AF_INET, SOCK_DGRAM, 0); struct sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; serverAddr.sin_port = htons(1234); serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); int addrLen = sizeof(serverAddr); while (1) { char buff[BUFSIZE]; printf("Enter msg send to server:"); scanf("%s", buff); sendto(clientSocketFd, buff, BUFSIZE, 0, (struct sockaddr*)&serverAddr, &addrLen); int readCount = recvfrom(clientSocketFd, buff, BUFSIZE, 0, (struct sockaddr*)&serverAddr, &addrLen); buff[readCount] = ‘\0‘; printf("Receive from server:%s\n", buff); } return 0; }
原文地址:https://www.cnblogs.com/luckygxf/p/12274979.html
时间: 2024-10-14 19:49:04