ZeroMQ API(四) 套接字】的更多相关文章

网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的.其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程).这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互. 什么是套接字? 套…
网络中的进程是如何通信的? 在网络中进程之间进行通信的时候,那么每个通信的进程必须知道它要和哪个计算机上的哪个进程通信.否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的.其实TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程).这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互. 什么是套接字? 套…
简介(源于维基) Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口.然而,由于AT&T的专利保护着UNIX,所以只有在1989年Berkeley大学才能自由地发布自己的操作系统和网络库.Berkeley套接字接口,一个应用程序接口(API),使用一个Internet套接字的概念,使主机间或者一台计算机上的进程间可以通讯. 它可以在很多不同的输入/输出设备和驱动之上运行,尽管这有赖于操作系统的具体实现. 接口实现用于T…
网络相关的东西差点儿都是建立在套接字之上.所以这个内容对于程序猿来说还是蛮重要的啊. 事实上套接字也就是一个特殊的设备文件而已,我始终不能明确为什么要叫套接字.这么个奇怪的名字.只是还是就这样算了吧.关键还是编程上.因为其重要性,我还是写的具体一点吧. 一.套接字 核心函数: int  socket(int domain,int type,int protocol); 这个函数在通信域domain中创建一个类型为type,使用协议protocol的套接字.而且返回一个描写叙述字,也就是相当于打开…
socket概念 socket层 理解socket Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议. 其实站在你的角度上看,socket就是一个模块.我们通过调用模块中已经实现的方法建立两个进程之间的连接和通信. 也有人将socket说成ip+port,因为ip是用来标识互联网中的一台主…
先来回顾一下昨天的内容 网络编程开发架构 B/S C/S架构网卡 mac地址网段 ip地址 : 表示了一台电脑在网络中的位置 子网掩码 : ip和子网掩码按位与得到网段 网关ip : 内置在路由器中的交换机 :能够保证在一个局域网内的机器之间通信路由器 :跨局域网之间的通信 - 路由表 arp协议 ——查询IP地址和MAC地址的对应关系 地址解析协议,即ARP(Address Resolution Protocol),是根据IP地址获取物理地址的一个TCP/IP协议. 主机发送信息时将包含目标I…
六.套接字(socket) socket也是一种进程间的通信机制,不过它与其他通信方式主要的区别是:它可以实现不同主机间的进程通信.一个套接口可以看做是进程间通信的端点(endpoint),每个套接口的名字是唯一的:其他进程可以访问,连接和进行数据通信. 套接口(socket)编程是实现Linux系统和其他大多数操作系统中进程间通信的主要方式之一.我们熟知的WWW服务.FTP服务.TELNET服务等都是基于套接口编程来实现的.除了在异地的计算机进程间以外,套接口同样适用于本地同一台计算机内部的进…
本章开始讲解套接字API. 套接字地址结构 IPv4套接字地址结构 它以sockaddr_in命名,下面给出它的POSIX定义 struct in_addr { in_addr_t s_addr; }; stuct sockaddr_in { uint8_t sin_len; sa_family_t sin_family; /* AF_INET */ in_port_t sin_port; struct in_addr sin_addr; ]; }; POSIX规范只需要这个结构中的3个字段:s…
三.命名套接字 之前的socket只是创建了一个没有名字的资源,其他进程无法访问他.所以也无法从它接受消息.只有当bind给套接字绑定了端口和名字后,其他进程才能找到它. 一般服务器是一定要bind,但是客户端就不一定了.如果做一个简单的echo服务器的话,那么客户端只直接去connect服务器就可以了.   绑定函数int bind(int socket,const struct sockaddr *address,socklen_t address_len); socket就是socket函…
1.创建一个套接字 1.1 zmq_socket(3) 1.1.1 名称 zmq_socket - 创建ZMQ套接字 1.1.2 概要 void * zmq_socket(void * context,int type); 1.1.3 描述 zmq_socket()函数将在指定的上下文中创建一个ZMQ套接字,并向新创建的套接字返回一个不透明的句柄. type参数指定套接字类型,它确定套接字通信的语义. 新创建的套接字最初是未绑定的,并且不与任何端点关联.为了建立消息流,套接字必须首先使用zmq_…