unix网络编程之UNIX Domain Socket IPC (sockaddr_un )

socket API原本是为网络通讯设计的,但后来在socket的框架上发展出一种IPC机制,就是UNIX Domain Socket。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:...

2017-03-21 20:25:00

阅读数 551

评论数 0

linux网络编程之SCTP套接字常用接口

SCTP 套接字接口 当 socket() 调用为 IPPROTO_SCTP 创建套接字时,它会调用特定于 SCTP 的套接字创建例程。针对 SCTP 套接字执行的套接字调用会自动调用相应的 SCTP 套接字例程。在一对一套接字中,每个套接字都对应一个 SCTP 关联。可以通过调用以下函数来...

2017-03-17 11:03:23

阅读数 680

评论数 0

linux网络编程之用epoll实现io复用(基于tcp)

1、epoll介绍   epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的...

2017-03-17 10:04:33

阅读数 430

评论数 0

linux网络编程之Listen函数参数介绍

1、listen()函数介绍 listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。 listen函数在一般在调用bind之后-调用accept之...

2017-03-15 15:23:06

阅读数 382

评论数 0

linux网络编程之用select函数实现io复用(基于TCP)引发的思考

1、基本概念    IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少出现。 ...

2017-03-14 23:49:54

阅读数 736

评论数 0

linux网络编程之慢系统调用被信号中断产生EINTR错误怎么解决总结

1、介绍慢系统调用 该术语适用于那些可能永远阻塞的系统调用。永远阻塞的系统调用是指调用永远无法返回,多数网络支持函数都属于这一类。如:若没有客户连接到服务器上,那么服务器的accept调用就会一直阻塞。 慢系统调用可以被永久阻塞,包括以下几个类别: (1)读写‘慢’设备(包括pipe,终端设备,...

2017-03-14 22:53:50

阅读数 2274

评论数 5

linux网络编程之用一张图片说明套接口常用函数

2017-03-14 15:03:51

阅读数 282

评论数 0

linux网络编程之setsockopt()函数来设置socket状态以及getsockopt函数只用总结

1、setsockopt函数 头文件:#include <sys/types.h> #include <sys/socket.h> 定义函数:int setsockopt(int s, int level, int optnam...

2017-03-14 14:28:25

阅读数 1776

评论数 0

linux网络编程之用select方法实现io复用(基于udp)

1、基本概念   IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取,它就通知该进程。IO多路复用适用如下场合:   (1)当客户处理多个描述字时(一般是交互式输入和网络套接口),必须使用I/O复用。   (2)当一个客户同时处理多个套接口时,而这种情况是可能的,但很少...

2017-03-13 23:16:59

阅读数 2469

评论数 0

linux网络编程之并发服务器的三种实现模型 (超级经典)

转载 : http://blog.csdn.net/tennysonsky/article/details/45671215 服务器设计技术有很多,按使用的协议来分有 TCP 服务器和 UDP 服务器,按处理方式来分有循环服务器和并发服务器。 循环服务器与并发服务器模型 在网络程序里面,...

2017-03-12 23:48:46

阅读数 2295

评论数 0

linux网络编程之SCTP协议

1、SCTP协议的介绍        SCTP(Stream Control Transmission Protocol,流量控制传输协议)是IETF(Internet Engineering Task Force,因特网工程任务组)在2000年定义的一个传输层(Transport Layer)...

2017-03-11 22:42:19

阅读数 1067

评论数 0

linux网络编程之用一张图片说明函数inet_ntop、inet_pton、inet_addr、inet_ntoa 、inet_aton函数之间的关系

1、inet_ntop、inet_pton、inet_addr、inet_ntoa 、inet_aton函数之间的关系 2、inet_ntop、inet_pton函数的源代码 1、inet_pton函数源码 int inet_pton(int family, cons...

2017-03-10 23:56:25

阅读数 1354

评论数 0

linux网络编程之一般应用采用的协议和不同套接字的地址结构以及用户进程和内核通过哪些函数传递套接字的地址结构

1、一般应用采用的协议 2、不同套接字的地址结构 3、用户进程和内核通过哪些函数传递套接字的地址结构 从进程到内核传递套接字的地址结构函数有3个 bind、connect、sendto函数 从内核到进程传递套接字的地址结构...

2017-03-10 22:35:33

阅读数 244

评论数 0

linux网络编程之怎么配置好unp.h文件

1、获取unp源码 下载地址:http://www.unpbook.com/src.html 然后用tar -zxvf unpv13e.tar.gz命令解压 2、进入unpv13e目录执行configure cd unpv13e ,然后执configure文件 ...

2017-03-09 21:58:16

阅读数 1961

评论数 0

linux网络编程之sockaddr_in和in_addr区别

1、struct  in_addr struct  in_addr就是32位IP地址。   struct in_addr { union { struct { u_char s_b1,s_b2,s_b3,s_b4; } S_un_b; ...

2017-03-09 21:12:20

阅读数 1272

评论数 0

linux网络编程之用多线程实现客户端到服务端的通信(基于udp)

1、开启一个线程接受数据,主线程发送数据的代码 #include #include #include #include #include #include #include #include #include #include #include //接收线程,负责消息并且...

2017-03-08 23:30:09

阅读数 3233

评论数 0

linux网络编程之inet_pton和inet_ntop函数

Linux下这2个IP地址转换函数,可以在将IP地址在“点分十进制”和“整数”之间转换   而且,inet_pton和inet_ntop这2个函数能够处理ipv4和ipv6。算是比较新的函数了。   1、inet_pton函数原型如下[将“点分十进制” -> “整数”]   #in...

2017-03-08 01:08:37

阅读数 2191

评论数 0

ip校验和及udp校验和的计算方法

一、ip校验和的计算:  计算方法:  1. ip包头(共20个字节)按照每16个bit作为一个值依次进行相加  2. 将计算结果的进位加到低16位上  3. 将结果取反  ip包头的内存内容  eg:  45 00 00 20 0F B8 00 00  80 11 00 00 C...

2017-03-03 22:08:59

阅读数 5193

评论数 0

linux之网络编程ICMP校验算法

1、ICMP校验算法代码 unsigned short cal_chksum(unsigned short *addr,int len) { int nleft = len; int sum = 0; unsigned ...

2017-03-01 15:46:15

阅读数 293

评论数 0

linux网络编程之IP协议首部格式与其配套使用的四个协议(ARP,RARP,ICMP,IGMP)和TCP、UDP协议头结构总结

首先声明,这篇博客是几篇博客转载然后总结在一起的,只当是学习笔记,不在意是什么原创和转载了,学到东西就好。 1、IP协议首部格式(IP协议处余网络层) IP数据报首部图片格式: 最高位在左边,记为0 bit;最低位在右边,记为31 bit 头部代码结构如下 //定...

2017-02-26 22:25:44

阅读数 1823

评论数 2

提示
确定要删除当前文章?
取消 删除
关闭
关闭