winet.c
来自「http协议的服务器例程」· C语言 代码 · 共 53 行
C
53 行
#include "winet.h"int winetclient(char type, char ip[], int port){ int sd; struct sockaddr_in addr; if((sd = socket(AF_INET, type & W_UDP ? SOCK_DGRAM : SOCK_STREAM, 0)) < 0) { return -1; } bzero(&addr, sizeof(struct sockaddr_in)); addr.sin_family = AF_INET; addr.sin_port = htons(port); if(inet_pton(AF_INET, ip, &addr.sin_addr) <= 0) { return -1; } if(!(type & W_UDP)) { if(connect(sd, (struct sockaddr *)&addr, sizeof(struct sockaddr_in)) < 0) { return -1; } } return sd;}int winetserver(char type, int port){ int sd; struct sockaddr_in ssd; if((sd = socket(AF_INET, type & W_UDP ? SOCK_DGRAM : SOCK_STREAM, 0)) < 0) { return -1; } bzero(&ssd, sizeof(struct sockaddr_in)); ssd.sin_family = AF_INET; ssd.sin_port = htons(port); ssd.sin_addr.s_addr=htonl(INADDR_ANY); if(bind(sd, (struct sockaddr *)&ssd, sizeof(struct sockaddr_in)) < 0) { return -1; } if(!(type & W_UDP)) { if(listen(sd, 5) < 0) { return -1; } } return sd;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?