摘要: * [网络编程笔记(一)-基本TCP套接字编程](https://www.cnblogs.com/Sherry4869/p/15451798.html) * [网络编程笔记(二)-TCP客户/服务器示例](https://www.cnblogs.com/Sherry4869/p/15366632.h 阅读全文
posted @ 2022-09-23 16:13 CoolGin 阅读(54) 评论(0) 推荐(0) 编辑
摘要: # 网络编程笔记(一)-基本TCP套接字编程 > 参考《UNIX网络编程》1 - 4 章,《TCP/IP网络编程》1 - 5 章。 ## 基础知识 ### 基本概念 * **守护进程**(daemon):一般认为 Web 服务器程序是一个长时间运行的程序,它只在响应来自网络的请求时才发送网络消息。守 阅读全文
posted @ 2021-10-24 16:38 CoolGin 阅读(807) 评论(0) 推荐(0) 编辑
摘要: 网络编程笔记(七)-制作 HTTP 服务器端 代码及注释如下,需要基础的 HTTP 知识才能理解。 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/socket.h> #include <unistd. 阅读全文
posted @ 2021-10-24 16:37 CoolGin 阅读(93) 评论(0) 推荐(0) 编辑
摘要: 网络编程笔记(六)-标准IO、epoll、多线程 参考《TCP/IP 网络编程》15、16、17、18 章 套接字和标准 I/O 标准 I/O 函数的 2 个优点: 良好的移植性(Portability)。 利用缓冲提高性能。 使用 read 和 write 函数传输 400M 文件的时间远远大于使 阅读全文
posted @ 2021-10-24 16:36 CoolGin 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 网络编程笔记(五)-域名系统和高级I/O 参考 《UNIX 网络编程》第 11 章,《TCP/IP 网络编程》第 8、11、12、13 章 域名与地址转换 DNS 是对 IP 地址和域名相互转换的系统,其核心是 DNS 服务器。 gethostbyname 函数:利用域名获取 IP 地址 鼓励使用 阅读全文
posted @ 2021-10-24 16:35 CoolGin 阅读(78) 评论(0) 推荐(0) 编辑
摘要: fgets 和 fscanf 对换行符的处理 fscanf int fscanf ( FILE * stream, const char * format, ... ); fscanf 将读取并忽略在下一个非空白字符之前遇到的任何空白字符(空白字符包括空格、换行符和制表符)。 fscanf 读取字符 阅读全文
posted @ 2021-10-08 22:13 CoolGin 阅读(5580) 评论(0) 推荐(0) 编辑
摘要: 网络编程笔记(四)-套接字选项和 UDP 参考《UNIX网络编程》第 7、8 章,《TCP/IP 网络编程》 第 9 章。 套接字选项 有很多方法来获取和设置影响套接字的选项: getsockopt 和 setsockopt 函数; fcntl 函数; ioctl 函数。 getsockopt 和 阅读全文
posted @ 2021-10-07 12:33 CoolGin 阅读(306) 评论(0) 推荐(0) 编辑
摘要: 网络编程笔记(三)-I/O复用:select和poll函数 参考《UNIX网络编程》第 6 章,《TCP/IP 网络编程》 第 7、12 章。 I/O 模型 I/O 复用的场合: 当客户处理多个描述符时(一般是交互式输入和网络套接字),必须使用I/O复用。 当客户同时处理多个套接字时,这种情况很少出 阅读全文
posted @ 2021-10-06 19:25 CoolGin 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 网络编程笔记(二)-TCP客户/服务器示例 参考《UNIX网络编程》第 5 章,《TCP/IP 网络编程》 第 10 章。 回射(echo)客户/服务器原理概述 并发服务器端实现模型和方法: 多进程服务器:通过创建多个进程提供服务。 多路复用服务器:通过捆绑并统一管理 I/O 对象提供服务(sele 阅读全文
posted @ 2021-10-04 16:31 CoolGin 阅读(164) 评论(0) 推荐(0) 编辑
摘要: 本人使用的是虚拟机 Centos7.6,MySQL; 步骤: 终端下登录 mysql:mysql -u root -p 创建数据表(名为 crashcourse):create database crashcourse; 选择刚刚创建的数据库 crashcourse:use crashcourse; 阅读全文
posted @ 2021-08-28 09:09 CoolGin 阅读(113) 评论(0) 推荐(0) 编辑