首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

unix网络编程——TCP套接字编程

该过程一直持续下去,直到客户端关闭,给服务端发送EOF(文件结束),服务器也关闭连接的服务器端,然后结束运行或者等待新的客户发起连接请求 图1 TCP网络套接字示意图 在图中涉及到不同的函数,接下来进行详细的介绍...---- socket函数   为了进行网络I/O,进程首先需要调用socket函数,指定使用的通信协议类型(IPv4的TCP、IPv6的UDP、Inux域字节流协议等)。...); 返回:若成功返回非负数,若失败返回-1    family表示协议族,协议族取值如表1所示: family 说明 AF_INET IPv4协议 AF_INET6 IPv6协议 AF_LOCAL Unix...指定了协议族(IPv4、Ipv6或Unix)和套接字类型(字节流、数据报或原始套接字),并没有指定本地协议地址或远程协议地址。

1.1K10
您找到你想要的搜索结果了吗?
是的
没有找到

Unix网络编程之IO模型

数据传输交换媒介 Unix操作系统结构图 ? ?...概要说明 用户空间: 将上述用户级别或者是unix编程的应用程序的部分称为用户空间,我们可以通过启动进程来调用内核命令完成从硬件设备读取或写入等操作 系统内核: 是直接与计算机硬件打交道的应用程序级别,...在计算机相关的书籍中也称为操作系统,可以通过操作系统级别提供的一些组件来帮助用户进程与计算机硬件完成通信交互的操作,可以称为一个中转站 硬件: 对于网络编程而言,与关联的硬件设备就是网络接口控制器等设备...,通过网络接口控制器将字节流数据传输到互联网再根据IP地址等信息传输到其他计算机系统应用程序,实现多台计算机系统之间的通信 文件描述符(File descriptor):在linux/unix系统中,文件进程存储着一份文件描述表...IO模型演进 基于上述的数据传输以及IO阻塞操作可知,网络编程需要读取网络传输过来的数据需要先经过系统内核再到用户空间,期间需要系统内核等待数据准备完成以及数据复制到用户空间两个步骤,同时为了简化概念,

67040

1-UNIX网络编程-Socket套接字编程简介

触发学习UNIX网络编程的动力在于前段时间需要开发一个接入服务,需要考虑比较高的并发处理能力,且尽量少占用的机器资源,选用了JAVA的Netty框架,学习过程产生不少疑问,限于基础知识太薄弱无法理解原理...,所以开始关注UNIX编程。...protocol ); 创建一个套接字文件,返回套接字文件描述符 [family] 指定协议簇 : AF_INET(IPv4) AF_INET6(IPv6) AF_LOCAL(UNIX...把一个本地协议地址赋予一个套接字 [sockfd] socket函数返回的套接字描述符 [myaddr] 是指向本地IP地址的通用套接字结构 [addrlen] 特定套接字结构的长度(IPv4、IPv6、Unix...Socket就像一个插头,联通应用层中的应用与网络设备,应用要提供网络服务,或者需要网络服务都得通过Socket的API进行。

73330

UNIX环境编程

man2 用来访问 UNIX 内核提供的服务的系统调用或函数。例如 fork 系统,它从一个现有的进程生成一个新进程。输入 man fork 显示它的手册页。使用系统软件的程序员常常参考这个部分。...UNIX 几乎完全使用文本配置文件定制系统的操作。有大量配置文件,包括网络服务的列表 (/etc/services) 和可用的 shell 列表 (/etc/shells) 等等。...i=0; i<2; i++){ fork(); printf("-"); } return 0; } 注意:输出8个-,而不是6个- 1.fork()系统调用是Unix...Unix下的设备有“块设备”和“字符设备”的概念,所谓块设备,就是以一块一块的数据存取的设备,字符设备是一次存取一个字符的设备。磁盘、内存都是块设备,字符设备如键盘和串口。

1.3K20

linux网络编程之socket(十五):UNIX域套接字编程和socketpair 函数

一、UNIX Domain Socket IPC socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。...虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和...UNIX域套接字与TCP套接字相比较,在同一台主机的传输速度前者是后者的两倍。这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。...UNIX Domain Socket与网络socket编程最明显的不同在于地址格式不同,用结构体sockaddr_un表示,网络编程的socket地址是IP地址加端口号,而UNIX Domain Socket...三、UNIX域套接字编程注意点 1、bind成功将会创建一个文件,权限为0777 & ~umask 2、sun_path最好用一个绝对路径 3、UNIX域协议支持流式套接口与报式套接口 4、UNIX

3.1K00

UNIX网络编程卷1(第三版)套接字编程简介

/* unused */ }; // sin_family,sin_port,sin_addr是一定支持的3个成员 IPv4地址和TCP或UDP端口号在套接字地址结构中总是以网络字节序...值-结果参数返回的结果:如果套接字地址结构是固定长度(如IPv4 (16) 和IPv6 (28) ),则返回值总是固定长度;对于可变长度(unix域等),返回值可能小于该结构的最大长度。...答:套接字地址结构的字段按照网络字节序(大端)进行维护,所以要通过函数进行转换。...(以下h:host,n:network,s:short->16bits port,l:long->32bits ipv4) htons 返回网络字节序的端口 htonl 返回网络字节序的ip ntohs...处理字符串的函数被放在string.h中,然而像套接字地址结构这种多字节字段,需要全部清0,则需要用到字节操纵函数(有2组): #include // strings.h是从BSD系UNIX

74130
领券