📄 server.c
字号:
#include <stdio.h>#include <sys/types.h>#include<sys/socket.h>#include<netinet/in.h>#include<arpa/inet.h>#include <stdlib.h>#include <unistd.h>#include <fcntl.h>#define MAX_CONNECT 2static int libsk_create_server(char *ip, short port){ int listenfd; struct sockaddr_in cliaddr, servaddr; listenfd = socket(AF_INET, SOCK_STREAM, 0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_addr.s_addr = inet_addr(ip); servaddr.sin_port = htons(port); bind(listenfd, (struct sockaddr *) &servaddr, sizeof(servaddr)); if(listen(listenfd, MAX_CONNECT) < 0) { listenfd = -1; } return listenfd;}static int libsk_accept(int sk){ int fd; struct sockaddr_in addr; int sin_size=sizeof(struct sockaddr_in); fd = accept(sk , (struct sockaddr*)&addr , &sin_size); return fd;}static int libsk_connect_to(char *serverip, short port){ int fd, ret; struct sockaddr_in servaddr; if(!serverip) { return -1; } fd = socket(AF_INET, SOCK_STREAM, 0); bzero(&servaddr, sizeof(servaddr)); servaddr.sin_family = AF_INET; servaddr.sin_port = htons(port); inet_pton(AF_INET, serverip, &servaddr.sin_addr); ret = connect(fd, (struct sockaddr *) &servaddr, sizeof(servaddr)); if(ret == -1) { perror("failed:"); close(fd); fd = -1; } return fd;}static int libsk_close(int sk){ if((sk != 0) && (sk != -1)) { close(sk); } return 0;}int main(){ int listen_fd; unsigned char buffer[32]; listen_fd = libsk_create_server("192.168.6.148", 10027); if(listen_fd < 0) { exit(0); } while(1) { int fd = 0; fd = libsk_accept(listen_fd); if(fd > 0) { memset(buffer , 0 , 32); if(read(fd, buffer , 32) > 0) { buffer[31] = 0; printf("%s\n", buffer); } } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -