网络编程
文章平均质量分 71
freeline-x
这个作者很懒,什么都没留下…
展开
-
1_linux网络编程函数说明
本文主要参考C语言中文网和linux网络编程-网络基础-socket编程-高并发服务器1、系统文件类型linux中文件基本分为普通文件:存储在磁盘中,主要分为文本文件和二进制文件目录文件:文件夹(不适合I/O方式系统调用,由专门系统调用来读写)字符设备文件和块设备文件:不存在磁盘,文件系统虚拟出来,由内存维护符号链接文件:(软链接)是一种特殊文件,指向的是一个文件路径管道文件:进程间通信套接字文件:网络通信(socket)stat命令或stat函数可以查看文件类型2、Socket编程2原创 2021-12-26 18:15:49 · 564 阅读 · 0 评论 -
2_C/S模型编程示例1
本文主要参考C语言中文网和linux网络编程-网络基础-socket编程-高并发服务器1、网络程序设计模式1.1 CS模式客户机(client)/服务器(server)模式。需要在通讯两端各自部署客户机和服务器来完成数据通信1)本地可进行大量数据的缓存处理,提高传输速率2)所采用的协议相对灵活(可以自己定义)1.2 B/S模式浏览器/服务器模式。只需在一端部署服务器,而另外一端使用每台PC都默认配置的浏览器即可1)易开发,不受平台限制2)缓存数据不尽如人意,协议选择不灵活2、C/S模型编原创 2021-12-26 20:34:08 · 1541 阅读 · 0 评论 -
UDP服务器
UDP传输不可靠,传输数据的正确率、传输顺序和流量都得不到控制和保证。所以,通常情况下,使用UDP协议进行数据传输,为保证数据的正确性,我们需要在应用层添加辅助校验协议来弥补UDP的不足与TCP类似,UDP也有可能出现缓冲区被填满后,再接收数据时丢包的现象。由于它没有TCP滑动窗口的机制,通常采用如下方法解决:1)服务器应用层设计流量控制,控制发送数据速度2)借助setsockopt函数改变接收缓冲区大小。比如:#include <sys/socket.h>int setsockopt原创 2022-01-03 17:26:51 · 2143 阅读 · 0 评论 -
3_并发服务器(多进程&多线程)
原创 2022-01-03 15:28:03 · 573 阅读 · 0 评论 -
多路I/O转接服务器
多路IO转接服务器也叫做多任务IO服务器。该类型服务器实现的主旨思想是,不在由应用程序自己监视连接,取而代之由内核替应用程序监视文件主要使用方法有三种select1、select 能监听的文件描述符个数受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述符个数能改变select监听文件个数2、解决1024以下客户端时使用select是很合适的,但如果连接客户端过多,select采用的是轮询模型,会大大降低服务器响应效率#include<sys/select.h>#i原创 2022-01-03 15:23:31 · 541 阅读 · 0 评论 -
I/O多路复用
1.1 阻塞与非阻塞IO普通文件读写操作不会阻塞,一定时以非阻塞方式进行IO操作。但是对于某些文件,比如管道文件和设备文件等,(如果数据未准备好,文件当前无数据可读,那么读操作可能会使调用这阻塞,直到有数据可读才会被唤醒,如果是非阻塞,即使没有数据可读,而是立马返回错误)。打开文件是,加入O_NONBLOCK标志,就是以非阻塞方式操作文件。fd = open("/home/root/c",O_RDONLY|O_NONBLOCK)1.2 IO多路复用I/O多路复用,通过一种机制,可以监视多个文件描述符原创 2022-01-03 12:19:54 · 125 阅读 · 0 评论