随笔分类 - 网络编程
摘要:Unix提供了5种不同的I/O模型: 阻塞I/O 非阻塞I/O I/O复用 信号驱动I/O 异步I/O 一个输入操作通常包括两个阶段: 等待数据准备好 从内核向进程复制数据 (1)阻塞I/O(blocking I/O) 应用进程调用recvfrom,直到内核将数据准备好并复制数据到应用程序缓冲区或者
阅读全文
摘要:1. 同步和异步关注的是消息通信机制。 同步:调用者在发出一个调用后,需要等待调用返回才能继续操作。 异步:调用者在发出一个调用后直接返回,但是没有返回结果。当这个调用完成后,一般通过状态、通知来通知调用者,或通过回调函数处理这个调用。 2. 阻塞和非阻塞关注的是程序在等待调用结果(消息,返回值)时
阅读全文
摘要:进程(Process)是程序执行时的一个实例,是系统进行资源分配和调度的基本单位。进程由程序段、数据段和进程控制块组成。 线程(Threads)是进程内的一个执行实体,是CPU调度和分派的基本单位。一个进程可以有一个或多个线程,同一进程内的线程共享进程的数据和地址空间,每个线程有自己的堆栈和局部变量
阅读全文
摘要:RPC(Remote Procedure Call):远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。在OSI网络通信模型中,RPC跨越了传输层和应用层,用以满足分布式系统架构中不同的系统之间的远程通信和相互调用。简单来说,计算机 A 上的进程,远程调用计算
阅读全文
摘要:网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。Socket本质是编程接口(API),通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同计算机之间的通信。 应用程序通常通过"套接字"发出网络请求或者应答网络请求,Socket在
阅读全文