server
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> #include <netinet/ip.h> #include <arpa/inet.h> #include <string.h> int main(int argc, const char *argv[]) { int sockfd, connfd; char recvbuf[64]; struct sockaddr_in seraddr,cliaddr; socklen_t len; if(-1 == (sockfd = socket(AF_INET,SOCK_STREAM, 0))) { printf("socket is fail\n"); exit(1); } seraddr.sin_family = AF_INET; seraddr.sin_port = htons(5000); seraddr.sin_addr.s_addr = inet_addr("192.168.124.13"); if(-1 == bind(sockfd, (const struct sockaddr *)&seraddr, sizeof(seraddr))) { printf("bind is fail/n"); exit(1); } if(-1 == listen(sockfd, 5)) { printf("listen is fail\n"); exit(1); } len = sizeof(cliaddr); if(-1 == (connfd = accept(sockfd, (struct sockaddr *)&cliaddr, &len))) { printf("accept is fail\n"); exit(1); } memset(recvbuf, 0, sizeof(recvbuf)); if(-1 == recv(connfd, recvbuf, sizeof(recvbuf), 0)) { printf("recv is fail\n"); exit(1); } printf("recvbuf is %s\n",recvbuf); char sendbuf[64] = "Hello Client !"; if(-1 == send(connfd, sendbuf, sizeof(sendbuf), 0)) { printf("send is fail\n"); exit(1); } return 0; }Client
#include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/socket.h> #include <netinet/ip.h> #include <netinet/in.h> #include <arpa/inet.h> #include <string.h> int main(int argc, const char *argv[]) { int sockfd; char recvbuf[64]; struct sockaddr_in seraddr; if(-1 == (sockfd = socket(AF_INET, SOCK_STREAM, 0))) { printf("socket is fail\n"); exit(1); } seraddr.sin_family = AF_INET; seraddr.sin_port = htons(5000); seraddr.sin_addr.s_addr = inet_addr("192.168.124.13"); if(-1 == connect(sockfd, (struct sockaddr *)&seraddr, sizeof(seraddr))) { printf("connect is fail\n"); exit(1); } char sendbuf[] = "Hello server !"; if(-1 == send(sockfd, sendbuf, sizeof(sendbuf), 0)) { printf("send is fail\n"); exit(1); } memset(recvbuf, 0, sizeof(recvbuf)); if(-1 == recv(sockfd, recvbuf, sizeof(recvbuf), 0)) { printf("recv is fail\n"); exit(1); } printf("recvbuf is %s\n", recvbuf); return 0; }