
网络编程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 · 108 阅读 · 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 · 104 阅读 · 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 · 97 阅读 · 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 · 157 阅读 · 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 · 128 阅读 · 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 · 136 阅读 · 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 · 318 阅读 · 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 · 362 阅读 · 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 · 1931 阅读 · 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 · 364 阅读 · 0 评论 -
第三节、验证TCP传输的数据没有数据边界
为验证这一点,需要让write函数的调用次数不同于read函数的调用次数。因此,在客户端分别调用read函数以接收服务器端发送的全部数据。tcp_server.c/*面向连接的套接字(SOCK_STREAM)1.传输过程中数据不会消失2.按序传输数据3.传输的数据不存在数据边界总结:可靠的、按序传递的、基于字节的面向连接的数据传输方式面向消息的套接字(SOCK_DGRAM)...原创 2020-02-01 18:39:02 · 1111 阅读 · 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 · 112 阅读 · 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 · 163 阅读 · 0 评论