📄 tcp_svr.c
字号:
#include <sys/types.h>#include <sys/socket.h>#include <stdio.h>#include <netinet/in.h>#include <arpa/inet.h>#include <unistd.h>#include <string.h>#include "my_inet.h"int main(){ int server_sockfd, client_sockfd; int server_len, client_len; struct sockaddr_in server_address; struct sockaddr_in client_address; server_sockfd = socket( MY_AF_INET, SOCK_STREAM, MY_IPPROTO_TCP ); server_address.sin_family = MY_AF_INET; server_address.sin_addr.s_addr = inet_addr("172.16.48.13"); server_address.sin_port = htons(5002); server_len = sizeof(server_address); int option = 2; if( setsockopt( server_sockfd, SOL_SOCKET, SO_REUSEADDR, &option, sizeof(option) ) < 0 ){ perror("setsockopt: "); return -1; } if( bind( server_sockfd, (struct sockaddr *)&server_address, server_len ) < 0 ){ perror("bind: "); return -1; } if( listen( server_sockfd, 5 ) < 0 ){ perror("listen: "); return -1; } while(1){ char buf[4096]; printf("server waiting\n"); client_len = sizeof( client_address ); client_sockfd = accept(server_sockfd, (struct sockaddr *)&client_address, &client_len ); read( client_sockfd, buf, sizeof(buf) ); printf("the rcv: %s\n", buf ); //snprintf( buf, sizeof(buf), "I received you packet! thank you!\n"); printf("%s\n", buf ); write( client_sockfd, buf, strlen(buf) ); close(client_sockfd); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -