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;
}