网络编程
HerofH_
加油啊咸鱼!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Linux I/O多路复用——epoll模型实现服务端Socket通信
目录epoll模型epoll函数epoll_createepoll_ctlepoll_wait程序流程水平触发(LT)边沿触发(ET)select、poll、epoll对比为什么ET模式下,需要将套接字设置为非阻塞式?epoll模型 epoll是Linux下多路复用IO接口select/poll的增强版本。 它能显著减少程序在大量...原创 2019-03-15 09:50:49 · 3431 阅读 · 1 评论 -
Linux I/O多路复用——poll模型实现服务端Socket通信
目录poll函数参数说明events相关与select的不同程序流程程序实例poll函数 poll模型在实现服务端时思路是和select类似的,可以说poll是select的加强版,poll函数原型如下:int poll(struct pollfd *fds, nfds_t nfds, int timeout);参数说明fds:文件描述符结构...原创 2019-03-14 19:19:37 · 594 阅读 · 0 评论 -
Linux I/O多路复用——select模型实现服务端Socket通信
目录文件描述符简介select模型理解select缺点select函数函数原型参数说明fd_set 相关程序实例文件描述符简介 在进程中,每打开一个文件,操作系统就会创建相应的数据结构来描述这个文件,这就是描述文件的文件结构体,同时,在进程的PCB中,会有一个struct files_struct *files的指针,它实际上是指向一个指针数...原创 2019-03-14 15:53:34 · 837 阅读 · 0 评论 -
Linux 实现多线程服务端Socket通信(线程共享套接字无法正常通信问题分析与解决)
目录程序流程程序实例值得注意的地方运行结果与多进程服务器处理连接类似,本例的目的是在主线程中创建多个子线程来处理连接请求。程序流程1. 创建基本的套接字,并绑定地址信息、设置监听;2. 创建一个线程函数,用于子线程中进行客户端与服务端的数据通信;3. 循环accept来接收连接请求,每接收一个连接请求,就创建一个子线程;4. 将子线程detach(),使子...原创 2019-03-13 20:01:25 · 1777 阅读 · 0 评论 -
Linux实现多进程服务端Socket通信
目录程序流程程序实例运行结果本例主要是让服务器能够同时处理多个客户端的连接请求。程序流程1. 创建基本的套接字,并绑定地址信息、设置监听;2. 循环accept来接收连接请求,每接收一个连接请求,就创建一个子进程;3. 在子进程中进行客户端与服务端的数据通信;4. 在父进程中定义一个消息处理程序,用来等待子进程结束,从而防止僵尸进程的产生。程序实例#i...原创 2019-03-13 12:25:04 · 1767 阅读 · 0 评论 -
Linux实现简单的socket通信(TCP/IP)
目录1.服务端创建流程2.服务端程序3.客户端创建流程4.客户端程序5.运行结果1.服务端创建流程服务端流程:(被动连接,需创建自己的地址信息)1.创建两个文件描述符,一个用于创建监听套接字,一个用于服务端与客户端之间连接成功后传输数据的套接字;2.创建服务端地址结构,指定服务端的IP协议簇、IP地址和端口号;(服务端创建自己的地址信息)2.将监听套接字与服...原创 2019-03-12 19:36:38 · 8297 阅读 · 1 评论
分享