diff options
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)); +} |