
Socket
文章平均质量分 78
Hardy20200507
树立终生学习理念,付诸行动。
展开
-
Linux多进程的应用
前面的章节介绍socket通信的时候,socket的服务端在同一时间只能和一个客户端通信,并不是服务端有多忙,而是因为单进程的程序在同一时间只能做一件事情,不可能一边等待客户端的新连接一边与其它的客户端进行通信。一、并发的服务端如果把socket服务端改为多进程,在每次accept到一个客户端的连接后,生成一个子进程,让子进程负责和这个客户端通信,父进程继续accept客户端的连接,socket的服务端在监听新客户端的同时,还可以与多个客户端进行通信。这就是并发,如下图:1、服务端把book248转载 2021-04-04 14:46:19 · 139 阅读 · 0 评论 -
封装socket
在https://blog.youkuaiyun.com/Hardy20200507/article/details/115427391博客中,book241.cpp和book242.cpp程序已经有点长了,有些啰嗦了,如果还想扩展功能,或用于多进程、多线程,程序结构将非常复杂。不管是socket通信程序的客户端还是服务端,准备工作的代码又长又难看占地方,影响了主程序的结构,必须分离出来。如何分离? 封装。一、C的封装方法C语言只能把程序代码封装成函数。1、客户端示例(book245.cpp)/* *转载 2021-04-04 13:38:22 · 188 阅读 · 0 评论 -
socket通信基础
一、socket通信的概念socket也称作“套接字”,描述了计算机的IP地址和端口,运行在计算机中的程序之间采用socket进行数据通信。通信的两端都有socket,它是一个通道,数据在两个socket之间进行传输。socket把复杂的TCP/IP协议族隐藏在socket接口后面,对程序员来说,只要用好socket相关的函数,就可以完成数据通信。二、套接字(socket)TCP提供了流(stream)和数据报(datagram)两种通信机制,所以套接字也分为流套接字和数据报套接字。流套接字的类型转载 2021-04-04 13:22:25 · 235 阅读 · 0 评论