• 计算机网络(二)Linux网络编程

    时间:2023-01-04 11:55:21

    layout: post title: 计算机网络(二)Linux网络编程 description: 计算机网络(二)Linux网络编程 tag: 计算机网络 文章目录 POSIX概念POSIX网络相关APIsocket()bind()网络字节序与主机字节序(大小端设备)listen/connec...

  • Linux 网络编程的5种IO模型:多路复用(select/poll/epoll)

    时间:2022-12-31 16:15:38

    Linux 网络编程的5种IO模型:多路复用(select/poll/epoll)背景我们在上一讲 Linux 网络编程的5种IO模型:阻塞IO与非阻塞IO中,对于其中的 阻塞/非阻塞IO 进行了说明。这一讲我们来看 多路复用机制。IO复用模型 ( I/O multiplexing )所谓I/O多路...

  • linux网络编程七:分散读readv和集中写writev

    时间:2022-12-31 08:30:26

    最近在看《linux高性能服务器编程》,在此做个日记,以激励自己,同时分享于有需要的朋友。 1. 分散读readv 和 集中写writev readv将数据从文件描述符读到分散的内存块中,即分散读。 writev将多块分散的内存一并写入文件描述符中,即集中写。 #include <sys/...

  • linux网络编程七:分散读readv和集中写writev

    时间:2022-12-31 08:30:50

    最近在看《linux高性能服务器编程》,在此做个日记,以激励自己,同时分享于有需要的朋友。 1. 分散读readv 和 集中写writev readv将数据从文件描述符读到分散的内存块中,即分散读。 writev将多块分散的内存一并写入文件描述符中,即集中写。 #include <sys/...

  • LINUX 数据结构 &算法 网络协议 & 网络编程 多任务编程

    时间:2022-12-29 12:34:28

    http://blog.csdn.net/goodluckwhh/article/category/1303091LINUX 数据结构 &算法 网络协议 & 网络编程 多任务编程的更多相关文章网络协议-网络分层、TCP&sol;UDP、TCP三次握手和四次挥手网络的五层划分是...

  • linux网络编程IO模型

    时间:2022-12-21 16:16:20

    同步与异步:        同步就是一个任务的完成需要依赖另外一个任务时,只有等待被依赖的任务完成后,依赖的任务才能算完成。        异步是不需要等待被依赖的任务完成,只是通知被依赖的任务要完成什么工作,依赖的任务也立即执行,只要自己完成了整个任务就算完成了,异步一般使用状态、通知和回调。 阻...

  • linux网络设备应用与驱动编程学习4——模板与实例(A)

    时间:2022-12-18 19:04:16

      源码来自lpc32xx_mii.c 1.       模块初始化卸载 static int __init lpc32xx_net_init(void) { return platform_driver_register(&lpc32xx_net_driver); }   static v...

  • Linux网络编程——Unix本地套接字

    时间:2022-12-18 11:00:08

    概述 今天给大家讲解网络编程中的一个内容——Unix 本地套接字。 发现很多人不知道或者不太了解 Unix 本地套接字这个概念,这也难怪,socket API 原本就是为多台主机之间网络通信设计的,并且这种网络 socket 同样支持单台主机上的进程间通信,当然这样做的话,仍然需要 IP 地址...

  • Linux(十七)网络基础:网络编程套接字

    时间:2022-12-18 07:28:33

    理解源IP地址和目的IP地址 在IP数据包头部中,有两个IP地址,分别叫做源IP地址,和目的IP地址 认识端口号 端口号是传输层协议的内容 端口号是一个2字节十六位的整数 端口号用来标识一个进程,告诉操作系统,当前的这个数据要交给哪一个进程来处理; IP地址+端口号能被标识网络上的某...

  • linux网络编程之套接字:套接字I/O超时设置方法和用select实现超时

    时间:2022-12-18 07:28:21

    一、使用alarm 函数设置超时 void handler(int sig){}signal(SIGALRM, handler);alarm(5);int ret = read(fd, buf, sizeof(buf));if (ret == -1 && errno == EINT...

  • Linux 网络编程之原始套接字

    时间:2022-12-18 00:28:55

    1. 介绍 前面主要介绍了流式套接字(SOCK_STREAM),数据报套接字(SOCK_DGRAM),基本上能够满足TCP与UDP的应用。但一些问题,我们仍然无法解决,如: (1)发送一个自定义的IP包 (2)发送ICMP包 (3)侦听网络上的数据包 ...

  • Linux网络编程之原始套接字-ping协议实现

    时间:2022-12-18 00:28:49

    转自http://blog.csdn.net/chenjin_zhong/article/details/7271830 1.概述 PING协议是用来检验本地主机与远程主机是否连接,发送的是ICMP ECHO_REQUEST包。普通的套接字是基于TCP或者是UDP的,无法发送ICMP包,所以必须...

  • Linux 之 网络编程之套接字选项

    时间:2022-12-18 00:23:57

    SOL_SOCKET协议族选项获取和设置套接字选项SO_KEEPALIVE选项SO_LINGER选项SO_RCVBUF和SO_SNDBUF选项SO_RCVLOWAT和SO_SNDLOWAT选项SO_RCVTIMEO和SO_SNDTIMEO选项SO_REUSEADDR选项获取和设置套接字选项getso...

  • linux网络编程之udp套接字

    时间:2022-12-18 00:23:51

    一 .关于udp1.udp的概述udp的全称是用户数据报协议,他和tcp协议一样用于处理数据包,是一种无连接面向数据报的传输层协议,由于udp不提供对数据的分组,组装和不能对数据进行排序的缺点,导致udp在数据发完之后,不能确认数据是否完全到达,但是udp又有着在资源消耗少,传输效率高的优点。由于u...

  • Linux网络编程之UDP套接字

    时间:2022-12-18 00:24:15

           udp协议是面向数据报的,无连接不可靠的传输层协议,因为udp无连接,因此实现udp socket不需要监听也不需要连接。在实现tcp socket时,其中的收发数据可以当做文件,通过read和write来读取(TCP是面向字节流的),而udp是面向数据报的协议,收发的单位都是数据报,...

  • Linux网络编程之套接字选项设置

    时间:2022-12-18 00:24:09

    转载:http://blog.163.com/jlz_325/blog/static/19174000920126893134309/ 1.介绍 在Linux网络编程中,有时需要设置地址复用,允许发送广播包,将主机加入某个多播组,设置发送与接收缓冲区的大小,设置发送与接收的超时时间,将套接字绑定到某...

  • (51)LINUX应用编程和网络编程之六Linux高级IO

    时间:2022-12-18 00:19:46

    3.6.1.非阻塞IO 3.6.1.1、阻塞与非阻塞 阻塞:阻塞具有很多优势(是linux系统的默认设置),单路IO的时候使用阻塞式IO没有降低CPU的性能 补充:阻塞/非阻塞, 它们是程序在等待消息(无所谓同步或者异步)时的状态. 阻塞调用是指调用结果返回之前,当前线程...

  • Linux网络编程之套接字基础

    时间:2022-12-18 00:19:28

    1.套接字的基本结构 struct sockaddr 这个结构用来存储套接字地址。 数据定义: struct sockaddr { unsigned short sa_family; /* address族, AF_xxx */ char sa_data[14]; /* 14 bytes的协议地址 ...

  • (52)LINUX应用编程和网络编程之七Linux线程

    时间:2022-12-18 00:10:01

    3.7.1.再论进程 3.7.1.1、多进程实现同时读取键盘和鼠标 3.7.1.2、使用进程技术的优势 (1)CPU时分复用,单核心CPU可以实现宏观上的并行、微观上的串行 (2)实现多任务系统需求(多任务的需求是客观的,多任务就是同时要做很多事情) 3.7.1.3...

  • linux网络编程基础(一)

    时间:2022-12-17 23:51:22

     一、数据存储顺序:大端和小端          高位字节存储高字节称为小端模式,通常都计算机采用这个模式存储。而网络则采用大端传输。所以需要转换         面试有时会出这么个题:写一个程序判断程序的存储是大端还是小端?       程序的原理见下图:         #include<...