网络编程TCP协议

文章介绍了Windows系统下的文件操作,如CreateFile、CloseHandle、ReadFile和WriteFile等函数,以及文件夹遍历和文件映射到虚拟内存的概念。在网络编程部分,讲解了TCP协议的工作原理,包括socket创建、连接、通信和关闭的过程,并提到了阻塞I/O在聊天室应用中的作用,以及文件在客户端和服务器之间的传输步骤。
摘要由CSDN通过智能技术生成

文件操作:

打开: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.   断开连接                        断开连接

        

        

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Theliars

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值