int tcp_server(void)
{
int sockfd;
int new_fd;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
char buffer[128];
int nByte;
int sin_size;
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("create socket error!\n");
exit(1);
}
bzero((char *)&server_addr, sizeof(struct sockaddr_in));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(portnum);
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
bind(sockfd,(struct sockaddr*)(&server_addr),sizeof(struct sockaddr));
listen(sockfd,5);
while(1)
{
sin_size = sizeof(struct sockaddr_in);
new_fd = accept(sockfd,(struct sockaddr*)(&client_addr),&sin_size);
printf("server get connection from %s\n",inet_ntoa(client_addr.sin_addr));
nByte = recv(new_fd, buffer, 128, 0);
buffer[nByte] = '\0';
printf("server reciivd : %s\n", buffer);
close(new_fd);
}
close(sockfd);
return 0;
}
int tcp_client(void)
{
struct sockaddr_in server_addr;
char buffer[128];
int sockfd;
if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1)
{
printf("create socket error!\n");
exit(1);
}
bzero((char *)&server_addr, sizeof(struct sockaddr_in));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(portnum);
server_addr.sin_addr.s_addr = inet_addr("192.168.10.50");
if(connect(sockfd,(struct sockaddr*)(&server_addr),sizeof(struct sockaddr)) == -1)
{
printf("connect error\n");
exit(1);
}
printf("please input char:\n");
fgets(buffer,128,stdin);
send(sockfd, buffer, strlen(buffer), 0);
close(sockfd);
return 0;
}
转载请注明原文地址:https://ipadbbs.8miu.com/read-19816.html