文件操作:
打开:CreateFile
关闭:CloseHandle
ReadFile WriteFile
MoveFile CopyFile FindNextFile
文件夹遍历
FindFirstFile FindNextFile
搭配循环找文件夹下所有文件
WIN32_FIND_DATA
struct _WIN32_FIND_DATAW {
DWORD dwFileAttributes; //类型
FILETIME ftCreationTime;
FILETIME ftLastAccessTime;
FILETIME ftLastWriteTime;
DWORD nFileSizeHigh;
DWORD nFileSizeLow;
DWORD dwReserved0;
DWORD dwReserved1;
_Field_z_ WCHAR cFileName[ MAX_PATH ];//文件名
_Field_z_ WCHAR cAlternateFileName[ 14 ];
#ifdef _MAC
DWORD dwFileType;
DWORD dwCreatorType;
WORD wFinderFlags;
#endif
} WIN32_FIND_DATAW
递归
文件映射虚拟内存:
希望像操作内存一样操作文件:
希望像操作内存一样操作文件!
硬性:内存操作
软性:个人更喜欢内存方式操作
例如:
一个文件 文件中有 4G 个人的姓名和电话号码
方案1 : 打开文件 一个个去读 去比较
方案2 : 打开文件 读取整个文件内容到内存中 内存中 排序 查找。
方案3 : 文件映射为虚拟内存 排序 查找
网络编程:
协议:约定的(婚姻法 民法典)
公有协议:全世界公认
TCP协议 udp协议 HTTP ssl ip
象棋 象飞田 马走日 公有协议
小飞象 千里马 私有协议(不要跟对象下棋)
网络通信:
借助网络设备实现两个应用程序(exe)之间的数据传输
这两个程序可以运行于 两个主机之上
cs架构 客户端 服务器
bs架构 浏览器 服务器
TCP协议:
网络 网卡
网卡是硬件 操作系统之上对应硬件的东西 叫做设备驱动程序(文件)
单工:单向
双工:双向
半双工:发的时候不能收,收的时候不能发
全双工:同时收发
server client
0.确定协议版本号 0.确定版本协议号
wsaStartup
1.创建socket 1.创建socket
socket
2.创建服务器协议地址簇 2.确定服务器协议地址簇
sockaddr_in
3.绑定
bind
4.监听
listen
5.接受连接 3.连接服务器
accept connect
建立了稳定的全双工的数据传输通道
6.通信 4.通信
send recv
7.关闭socket 5.关闭socke
close
8.清理协议版本信息 6.清理协议版本信息
wsaCleanup
植物要繁殖
媒介 风 动物
阻塞:
scanf
_getch
聊天室:
服务器可以接受多个客户端的连接 简易区分
在接受连接的同时
某个客户端发数据过来 接收
先输出 然后
发送给每个当前连接到服务器的客户端
客户端:
先连接上服务器
同时做两件事:
1. 循环接受用户输入,并发送到服务器
2. 循环接受服务器发来的数据并显示
文件收发:
服务器 收 客户端 发
1. 客户端连接服务器
2. 接受文件名 获取文件名 并发送给服务器
3. 接受文件大小 获取文件大小 并发送给服务器
4. 创建文件 打开文件
5. 循环接受内容并写入文件 循环读取内容并发送
6. 接受完毕 关闭 发送完毕关闭
7. 断开连接 断开连接