网络应用进程通信
2017-09-19 21:32
127 查看
1 网络应用的基础:进程间通信
进程:主机上运行的程序。同一主机上运行的进程之间如何通信?
进程间通信机制
操作系统提供
不同主机上运行的进程间如何通信?
消息交换
客户机进程: 发起通信的进程。
服务器进程: 等待通信请求的进程。
采用P2P架构的应用是否存在客户机进程/服务器进程之分?当然存在。
2 套接字:Socket
进程间通信利用socket发送/接收消息实现类似于寄信
发送方将消息送到门外邮箱
发送方依赖(门外的)传输基础设施将消息传到接收方所在主机,并送到接收方的门外
接收方从门外获取消息
传输基础设施向进程提供API
传输协议的选择
参数的设置
3 如何寻址进程?
不同主机上的进程间通信,那么每个进程必须拥有标识符。如何寻址主机? ——IP地址。
Q: 主机有了IP地址后,是否足以定位进程?
A: 否。同一主机上可能同时有多个进程需要通信。
端口号/Port number
为主机上每个需要通信的进程分配一个端口号
HTTP Server: 80
Mail Server:25
进程的标识符
IP地址+端口号
可以使用netstat -ano查看当前已经建立TCP或者UDP连接。
4 应用层协议
网络应用需遵循应用层协议。公开协议
由RFC(Request For Comments)定义
允许互操作
HTTP, SMTP, ……
私有协议
多数P2P文件共享应用
5 应用层协议的内容
消息的类型(type)请求消息
响应消息
消息的语法(syntax)/格式
消息中有哪些字段(field)?
每个字段如何描述
字段的语义(semantics)
字段中信息的含义
规则(rules)
进程何时发送/响应消息
进程如何发送/响应消息
相关文章推荐
- 计算机网络14--网络应用进程通信
- 与网络通信相关的服务和应用进程无法加载和启动、windows通信端口初始化失败
- Linux程序设计学习笔记----网络通信编程API及其示例应用
- 网络中进程通信的标识
- DICOM标准及应用——第三讲 DICOM消息交换和网络通信
- 【Android应用开发技术:网络通信】计算机网络基础
- 【Android应用开发技术:网络通信】网络服务可发现应用接口
- 网络通信模式&基站及其基本应用
- QT单实例应用,使用QLocalSocket进行进程通信,不同运行权限下运行的同一个进程通讯失败,报错 “QLocalSocket::SocketAccessError”
- Android应用框架-Volley网络通信框架
- linux进程全解-3.4.linux应用编程和网络编程第4部分
- 网络中进程通信-----socket
- SSECMM在某通信网络管理系统安全工程中的应用与实践
- linux进程间的网络通信
- AIDL跨进程通信在Android的应用
- 使用命名管道通过网络在进程之间进行通信(C#)
- HttpClient在Android网络通信中的应用
- docker应用-5(使用overlay 网络进行容器间跨物理主机通信)
- Socket进程通信机制及其应用
- 网络中进程通信-----socket