diff options
author | Guangxiong Lin <[email protected]> | 2022-12-01 15:45:18 +0800 |
---|---|---|
committer | Guangxiong Lin <[email protected]> | 2022-12-01 15:45:18 +0800 |
commit | 5626ba1525179d634676a347b5cd869cc3266090 (patch) | |
tree | b6eb244db5070e7b140bafa36241d2bbbae01845 /server.c | |
download | tinyserver-5626ba1525179d634676a347b5cd869cc3266090.tar.gz tinyserver-5626ba1525179d634676a347b5cd869cc3266090.tar.bz2 tinyserver-5626ba1525179d634676a347b5cd869cc3266090.zip |
First commit
Diffstat (limited to 'server.c')
-rw-r--r-- | server.c | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/server.c b/server.c new file mode 100644 index 0000000..9e2fd5c --- /dev/null +++ b/server.c @@ -0,0 +1,26 @@ +#include <netinet/in.h> +#include <sys/socket.h> +#include <arpa/inet.h> +#include <string.h> + +int main() +{ + int sockfd = socket(AF_INET, SOCK_STREAM, 0); + + struct sockaddr_in serv_addr; + bzero(&serv_addr, sizeof(serv_addr)); + serv_addr.sin_family = AF_INET; + serv_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); + serv_addr.sin_port = htons(8888); + + bind(sockfd, (struct sockaddr*)&serv_addr, sizeof(serv_addr)); + + listen(sockfd, SOMAXCONN); + + struct sockaddr_in clnt_addr; + socklen_t clnt_addr_len = sizeof(clnt_addr); + bzero(&clnt_addr, sizeof(clnt_addr)); + int clnt_sockfd = accept(sockfd, (struct sockaddr *)&clnt_addr, &clnt_addr_len); + + printf("New client fd %d, ip: %s, port: %d\n", clnt_sockfd, inet_ntoa(clnt_addr.sin_addr), ntohs(clnt_addr.sin_port)); +} |