网络编程
hyy_0224
这个作者很懒,什么都没留下…
展开
-
2021-11-4 socket的通信过程
客户端:首先创建socket套接字,然后调用connect()建立连接。进行TCP三次握手后,使用write()写数据,read()读取数据,最后close()关闭连接。 服务端:服务端首先创建套接字socket(),然后bind()绑定相应的地址和端口号,并置于监听状态。然后调用accept(),阻塞等待客户端发起连接。建立连接后,使用write()写数据,read()读数据,最后close()关闭连接。 TCP三次握手过程: 服务器调用socket()、bind()、listen()完成初始化后,调用.原创 2021-11-04 09:58:04 · 276 阅读 · 0 评论 -
2021-11-4 I/O多路复用
1、什么是I/O多路复用? I/O多路复用是指程序能同时监听多个文件描述符。在文件描述符可用的时候返回,对其进行读写操作。 Linux下实现I/O多路复用的系统调用主要有select/poll/epoll。 输入输出对象可以是文件file、网络socket以及管道pipe。他们都有文件描述符fd。 2、常见的I/O模型有哪些? (1)阻塞等待模型 (BIO模型) 阻塞等待是指一直等待需要的信息,阻塞程序的进行。 优点:不占用时间片 缺点:同一个只能处理一个I/O,效率低。 解决方法:多线程/多进程,缺点:占原创 2021-11-04 03:05:51 · 198 阅读 · 0 评论