linux下C++ socket网络编程( 四 )
6.返回 , 等待另一个客户请求 。
7.关闭套接字
TCP客户端通信常规步骤:
1.socket()创建TCP套接字 。
2.connect()建立到达服务器的连接 。
3.与客户端进行通信 , recv()/send()接受/发送信息 , write()/read() 子进程写入管道 , 父进程从管道中读取信息然后send给客户端
5. close() 关闭客户连接 。
五:相关技术介绍
1.socket 阻塞与非阻塞
阻塞与非阻塞关注的是程序在等待调用结果时(消息 , 返回值)的状态 。
阻塞调用是指在调用结果返回前 , 当前线程会被挂起 , 调用线程只有在得到调用结果之后才会返回 。
非阻塞调用是指在不能立刻得到结果之前 , 该调用不会阻塞当前线程 。
eg. 你打电话问书店老板有没有《网络编程》这本书 , 老板去书架上找 , 如果是阻塞式调用 , 你就会把自己一直挂起 , 守在电话边上 , 直到得到这本书有或者没有的答案 。 如果是非阻塞式调用 , 你可以干别的事情去 , 隔一段时间来看一下老板有没有告诉你结果 。
推荐阅读
- Linux|为什么要开发那么多基于Linux的国产系统,直接使用Linux不可以吗?
- 从头学习Linux基础
- 3步教你做个Linux系统,易用性不比Windows差!你学会了吗?
- Linux该如何学习
- Linux在云端是怎么帮助大家工作简单方便的那?
- Linux当前应用的角色-个人环境的使用
- Linux当前应用的角色-企业环境的应用
- 托瓦斯的Linux的发展
- Linux是什么与如何学习
- 国产linux系统有希望了! 韩国也将摆脱微软依赖: 大规模使用linux