Linux网络编程
文章平均质量分 75
奋斗的helloworld
路漫漫其修远兮,吾将上下而求索。
展开
-
Linux网络编程(三)——多线程并发服务器
1.程序、进程和线程 二进制程序(binaries)是指保存在存储介质上的程序,以给定操作系统和计算机体系结构可访问的格式编译生成,可以运行但尚未开始。 进程(processes)是操作系统对运行的二进制程序的抽象,包括:加载的二进制程序、虚拟内存、内核资源如打开的文件、关联的用户等。 线程(threads)是进程内的执行单元,具体包括:虚拟处理器、堆栈、程序状态。换句话说,进程是正在运行在二进制程序,线程是操作系统调度器可以调度的最小执行单元。 一个进程包含一个或多个线程。如果一个进程只包含一个线程,则该原创 2021-05-30 11:25:06 · 612 阅读 · 0 评论 -
Linux网络编程(二)——多进程并发服务器
1.TCP循环服务器 ①TCP循环服务器一次只能处理一个客户端的请求。 ②只有在这个客户的所有请求都满足后, 服务器才可以继续后面的请求。 ③这样如果有一个客户端占住服务器不放时,其它的客户机都不能工作了.因此,TCP服务器一般很少用循环服务器模型。 循环服务器模型: socket(); bind(); listen(); while(1){ accept(); process(); close(); } 之前我们已经写了一个简单的循环服务器程序,但是如果我们想原创 2021-05-28 11:22:42 · 696 阅读 · 0 评论 -
Linux网络编程(一)
1.初识服务器 最近实验室需要用到服务器,服务器的主要功能是接收客户端发来的消息,然后解析并把解析的数据存到数据库里。实验室用的服务器是阿里云,操作系统选择的是CentOS。刚开始不知道怎么实现这个功能,于是在网上查阅了相关资料后选择了用自己熟悉的C/C++开发,发现服务器编程入门其实也挺简单。 2.服务器客户端通信基本流程 上面这张图就是服务器和客户端通信的基本流程。而我们主要写的就是服务器的程序。服务器程序就是在阿里云服务器上一直运行的一个程序,需要随时接受来自客户端的连接并且接收客户端发来的数据。我原创 2021-05-27 19:31:34 · 127 阅读 · 0 评论