首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Linux系统下socket编程socket接口介绍(二)

前言 在上一篇文章里面我们介绍了TCP的三次握手和四次挥手过程的介绍以及网络编程里面的一些api接口函数的介绍——Linux系统下socket编程之socket接口介绍(一)。...in_addr in); in_addr_t inet_netof(struct in_addr in); 说明: 首先我们来看inet_aton函数,它转换网络主机地址ip...(这个转换完后不能用于网络传输,还需要调用htons或htonl函数才能将主机字节顺序转化为网络字节顺序,这两个函数先不讲,实战遇到的话,再进行解析),具体可以看下面Linux的源文: inet_aton...The address is converted to a struct in_addr and copied to dst, which must be sizeof(struct in_addr...(2)struct sockaddr,这个结构体是linux的网络编程接口中用来表示IP地址的 标准结构体,bind、connect等函数中都需要这个结构体,这个结构体是兼容IPV4和IPV6的。

3.5K20

Linux网络编程“惊群”问题总结

1、前言   我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。...其实在Linux2.6版本以后,内核内核已经解决了accept()函数的“惊群”问题,大概的处理方式就是,当内核接收到一个客户连接后,只会唤醒等待队列上的第一个进程或线程。...所以,如果服务器采用accept阻塞调用方式,在最新的Linux系统上,已经没有“惊群”的问题了。...在早期的Linux版本中,内核对于阻塞在epoll_wait的进程,也是采用全部唤醒的机制,所以存在和accept相似的“惊群”问题。...新版本的的解决方案也是只会唤醒等待队列上的第一个进程或线程,所以,新版本Linux 部分的解决了epoll的“惊群”问题。

98760

【网络编程】Linux网络编程基础与实战第二弹——Socket编程

Socket编程 套接字概念 Socket本身有“插座”的意思,在Linux环境下,用于表示进程间网络通信的特殊文件类型。本质为内核借助缓冲区形成的伪文件。...与管道类似的,Linux系统将其封装成文件的目的是为了统一接口,使得读写套接字和读写文件的操作一致。 区别是管道主要应用于本地进程间通信,而套接字多应用于网络进程间数据的传递。...*inp); in_addr_t inet_addr(const char *cp); char *inet_ntoa(struct in_addr in); 只能处理IPv4的IP地址,不可重入函数...family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */ }; 一般其默认的存储位置:/usr/include/linux...AF_INET 这是大多数用来产生socket的协议,使用TCP或UDP来传输,用IPv4的地址 AF_INET6 与上面类似,不过是来用IPv6的地址 AF_UNIX 本地协议,使用在Unix和Linux

23720

Linux网络编程“惊群”问题总结

1、前言 我从事Linux系统下网络开发将近4年了,经常还是遇到一些问题,只是知其然而不知其所以然,有时候和其他人交流,搞得非常尴尬。...其实在Linux2.6版本以后,内核内核已经解决了accept()函数的“惊群”问题,大概的处理方式就是,当内核接收到一个客户连接后, 只会唤醒等待队列上的第一个进程或线程 。...所以,如果服务器采用accept阻塞调用方式,在最新的Linux系统上,已经没有“惊群”的问题了。...在早期的Linux版本中,内核对于阻塞在epoll_wait的进程,也是采用全部唤醒的机制,所以存在和accept相似的“惊群”问题。...新版本的的解决方案也是 只会唤醒等待队列上的第一个进程或线程 ,所以,新版本Linux 部分的 解决了epoll的“惊群”问题。

76050

网络编程 - Linux Socket编程

Linux Socket编程 ---- 目录 前言 Socket的功能 Socket基础 Socket类型 基本结构 基本转换函数 基本Socket使用 TCP Socket实例 UDP Socket实例...主要参考《Linux网络编程》。本篇源码获取方式见文底小字。 Socket的功能   socket是通过标准的UNIX文件描述符和其他的程序通讯的一个方法。...in_addr为sockaddr_in成员,用于存储4个字节的IP地址。...struct in_addr { unsigned long s_addr; }; struct sockaddr_un sockaddr_un是用于存储AF_UNIX的套接字地址,推测un...基本Socket使用   Linux同时支持面向连接和不连接类型的套接字。在面向连接的通讯中服务器和客户机在交换数据之前先要建立一个连接;在不连接通讯中数据被作为信息的一部分被交换。

9.7K50
领券