UNIX环境高级编程-读书笔记-网络编程(四)
2017-06-27 09:30
239 查看
网络通信 总结:
1.不管是UDP还是TCP通信,基本的过程都是,首先建立链接,然后发送消息,然后对方接受消息。
2.网络通信的模式,的书写方法都是固定的,不管是UDP还是TCP。写法固定。
3.网络通信的比较重要的部分是通信报文的设计,下面详解:
网络通信报文的书写
1.报文的两种的组织形式。
1.使用结构体的方法: 定义好各种类型的消息结构体,然后在发送消息的时候,对结构体对象的里面的成员进行
相应的赋值,在接受方,就收消息,使用同样类型的结构体,然后对消息里面的各种数据
成员进行解析,在处理。使用这种方式处理,简单,容易处理。
2.使用消息组合的方法:就是把要发送的消息的内容,按一定的序列进行组合,说实在的就是拼接在一起,在拼接的时候使用一些标识符进行分隔。
然后发送,在接受端,接受消息以后,要对消息按照和发送端相反的顺序进行分解,从而得到具体的消息的指令或者是请求
网络通信的服务器的类型:
1.循环服务器
就是服务器会循环的接受,客户端或者是发送端的各种请求然后处理,但是他永远只是单个线程在处理,当有个客户端没有断开链接的时候
其他的客户端无法进行链接。
2.多进程,多线程服务器
显然就是多个线程。多个进程同时的进行操作,和处理客户端的请求,
其实这个也有多种方法。
1.一种就是属于被动的等待,来一个链接请求,我就创建一个进程或者是线程,但是计算机,允许创建的进程的个数是有限的。
2.一种就是主动的事先创建好一定数量的线程,或者是进程,你来一个请求我就调用一个线程,当你的个数多于我已经创建的个数,那就等待
这就涉及到线程池的概念。
1.不管是UDP还是TCP通信,基本的过程都是,首先建立链接,然后发送消息,然后对方接受消息。
2.网络通信的模式,的书写方法都是固定的,不管是UDP还是TCP。写法固定。
3.网络通信的比较重要的部分是通信报文的设计,下面详解:
网络通信报文的书写
1.报文的两种的组织形式。
1.使用结构体的方法: 定义好各种类型的消息结构体,然后在发送消息的时候,对结构体对象的里面的成员进行
相应的赋值,在接受方,就收消息,使用同样类型的结构体,然后对消息里面的各种数据
成员进行解析,在处理。使用这种方式处理,简单,容易处理。
2.使用消息组合的方法:就是把要发送的消息的内容,按一定的序列进行组合,说实在的就是拼接在一起,在拼接的时候使用一些标识符进行分隔。
然后发送,在接受端,接受消息以后,要对消息按照和发送端相反的顺序进行分解,从而得到具体的消息的指令或者是请求
网络通信的服务器的类型:
1.循环服务器
就是服务器会循环的接受,客户端或者是发送端的各种请求然后处理,但是他永远只是单个线程在处理,当有个客户端没有断开链接的时候
其他的客户端无法进行链接。
2.多进程,多线程服务器
显然就是多个线程。多个进程同时的进行操作,和处理客户端的请求,
其实这个也有多种方法。
1.一种就是属于被动的等待,来一个链接请求,我就创建一个进程或者是线程,但是计算机,允许创建的进程的个数是有限的。
2.一种就是主动的事先创建好一定数量的线程,或者是进程,你来一个请求我就调用一个线程,当你的个数多于我已经创建的个数,那就等待
这就涉及到线程池的概念。
相关文章推荐
- UNIX环境高级编程-读书笔记-网络编程(三)
- UNIX环境高级编程-读书笔记-网络编程(一)
- UNIX环境高级编程-读书笔记-网络编程(二)
- UNIX环境高级编程——网络基础概念
- 进程编程3 - UNIX高级环境编程第9章读书笔记
- 读书笔记之UNIX环境高级编程(11)
- UNIX环境高级编程学习之第十六章网络IPC:套接字 - 非阻塞的Socket通信EPoll模型(多路复用), 实用Socket通信模板
- 进程编程2 – Unix环境高级编程8章读书笔记
- 使用pthread库进行多线程编程1 - UNIX环境高级编程第11章读书笔记
- 进程编程3 - UNIX高级环境编程第9章读书笔记
- 《读书笔记》系列1:UNIX环境高级编程
- 进程编程1 – Unix环境高级编程7章读书笔记
- 进程编程1 – Unix环境高级编程7章读书笔记
- 进程编程1 – Unix环境高级编程7章读书笔记
- [UNIX环境高级编程第二版]读书笔记5章
- 读书笔记之UNIX环境高级编程(8)
- UNIX环境高级编程-读书笔记-epoll
- [UNIX环境高级编程第二版]读书笔记1~2章
- unix环境高级编程 读书笔记
- 进程编程2 – Unix环境高级编程8章读书笔记