![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程TCP/IP
lpl312905509
这个作者很懒,什么都没留下…
展开
-
第十二节、多路IO epoll服务器实现
epoll_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #include <ctype.h>...原创 2020-02-15 10:05:02 · 84 阅读 · 0 评论 -
第十二节、多路IO poll服务器实现
poll_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #include <sys/time.h&...原创 2020-02-15 10:00:16 · 81 阅读 · 0 评论 -
第十一节、多路IO select服务器实现
select_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #include <sys/time....原创 2020-02-15 09:56:24 · 75 阅读 · 0 评论 -
第十节、多线程简易聊天并发服务器
chat_server.c #include <stdio.h> #include <unistd.h> #include <stdlib.h> #include <pthread.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #...原创 2020-02-14 15:16:40 · 129 阅读 · 0 评论 -
第九节、多进程并发服务器
echo_mpserv.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <signal.h> #include <sys/wait.h> #include <arpa/inet.h> ...原创 2020-02-13 18:44:24 · 95 阅读 · 0 评论 -
第八节、基于半关闭的文件传输
file_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #define BUF_SIZE 30 #d...原创 2020-02-12 11:29:25 · 113 阅读 · 0 评论 -
第七节、计算器服务器端与客户端实现
op_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #define BUF_SIZE 1024 #de...原创 2020-02-02 22:42:15 · 277 阅读 · 0 评论 -
第六节、迭代回声服务器端与客户端实现
echo_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> #define SERV_IP "127.0....原创 2020-02-01 21:16:54 · 310 阅读 · 0 评论 -
第五节、字符串信息转换成网络字节序
#include <arpa/inet.h> #include <stdio.h> /* #include<arpa/inet.h> in_addr_t inet_addr(const char* string); 成功时返回32位大端序整数型值,失败时返回INADDR_NONE. //功能与下面的方法类似 int inet_aton(const c...原创 2020-02-01 20:20:52 · 1836 阅读 · 0 评论 -
第四节、网络字节序与主机字节序的转换
/* 字节序转换 unsigned short htons(unsigned short); unsigned short ntohs(unsigned short); unsigned long htonl(unsigned long); unsigned long ntohl(unsigned long); htons中的h代表主机(host)字节序 htons中的n代表网络(network...原创 2020-02-01 19:39:08 · 317 阅读 · 0 评论 -
第三节、验证TCP传输的数据没有数据边界
为验证这一点,需要让write函数的调用次数不同于read函数的调用次数。因此,在客户端分别调用read函数以接收服务器端发送的全部数据。 tcp_server.c /* 面向连接的套接字(SOCK_STREAM) 1.传输过程中数据不会消失 2.按序传输数据 3.传输的数据不存在数据边界 总结:可靠的、按序传递的、基于字节的面向连接的数据传输方式 面向消息的套接字(SOCK_DGRAM)...原创 2020-02-01 18:39:02 · 1058 阅读 · 0 评论 -
第二节、linux简单文件操作
linux简单文件操作 1.将数据写入文件 low_open.c #include <stdio.h> #include <stdlib.h> #include <fcntl.h> #include <unistd.h> void error_handling(const char* message) { fputs(message,stderr...原创 2020-02-01 17:00:17 · 88 阅读 · 0 评论 -
第一节、网络编程之服务器与客户端简单通信
本节讲解最简单的服务器与客户端通信 hello_server.c #include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #include <sys/socket.h> void...原创 2020-01-31 22:39:05 · 126 阅读 · 0 评论