• 嵌入式 Linux网络编程(四)――Select机制

    时间:2022-06-14 08:32:52

    嵌入式Linux网络编程(四)――Select机制一、select工作机制    poll和select,都是基于内核函数sys_poll实现的,不同在于在linux中select是从BSDUnix系统继承而来,poll则是从SYSTEMVUnix系统继承而来,因此两种方式相差不大。poll函数没有...

  • linux网络编程socket介绍

    时间:2022-06-02 17:07:51

    linux网络程序分为服务端程序和客户端程序,linux编写网络程序时,一般是基于TCP协议或者UDP协议进行网络通信的。

  • Linux网络编程服务器模型选择之并发服务器(上)

    时间:2022-05-19 04:29:15

    与循环服务器的串行处理不同,并发服务器对服务请求并发处理。循环服务器只能够一个一个的处理客户端的请求,显然效率很低。并发服务器通过建立多个子进程来实现对请求的并发处理。并发服务器的一个难点是如何确定子进程的数据,因为不清楚请求客户端的数目,因此实现中通常采用事先分配一定数目的子进程与动态增加子进程相...

  • Linux网络编程学习(六) ----- 管道(第四章)

    时间:2022-05-19 02:56:09

    1、管道的定义管道就是将一个程序的输出和另外一个程序的输入连接起来的单向通道,比如命令:ls-l|more,就建立了一个管道,获取ls-l的输出作为more的输入,数据就沿着管道从管道的左边流到了管道的右边。实际上内核为进程建立了两个句柄f1和f2,进程通过句柄f1向管道写入数据,同时通过f2从管道...

  • linux网络编程之TCP/IP基础(一):TCP/IP协议栈与数据报封装

    时间:2022-05-01 01:57:32

    一、ISO/OSI参考模型OSI(opensysteminterconnection)开放系统互联模型是由ISO(InternationalOrganizationforStandardization)国际标准化组织定义的网络分层模型,共七层,如下图。物理层(PhysicalLayer):物理层定义...

  • 转: Linux网络编程 【8】五种I/O 模式

    时间:2022-04-14 02:42:53

    五种I/O模式:【1】       阻塞I/O          (Linux下的I/O操作默认是阻塞I/O,即open和socket创建的I/O都是阻塞I/O)【2】       非阻塞I/O       (可以通过fcntl或者open时使用O_NONBLOCK参数,将fd设置为非阻塞的I/O)...

  • 三、Linux网络编程-TCP/IP基础(三)IP数据报格式、网际校验和、路由

    时间:2022-03-21 01:31:09

    一、IP数据报格式(1)、IP头部的数据格式版本 IP协议版本号,长度为4位,IPv4此字段值为4,IPv6此字段值为6首部长度 以32位的字为单位,该字段长度为4位,最大值为15,所以首部长度最大为60个字节服务类型(TOS) 长度为8位。此字段包含3位的优先权(现已忽略),4位的服务类型子字段和...

  • 主机地址linux网络编程之TCP/IP基础(二):利用ARP和ICMP协议解释ping命令

    时间:2022-02-27 01:28:53

    本篇文章朋友在深圳吃饭的时候突然想到的...最近就有想写几篇关于主机地址的博客,所以回家到之后就奋笔疾书的写出来发布了    一、MTU    以太网和IEEE802.3对数据帧的长度都有限制,其最大值分离是1500和1492字节,将这个限制称作最大传输单元(MTU,MaximumTransmiss...

  • linux网络编程之进程间通信介绍

    时间:2022-02-18 05:10:50

    从今天起,开始学习进程间通信相关的东东,关于socket的编程先告一段落了,在学习进程间通信之前,首先先要了解一些概念,所以,这次不开始真正的代码编写,先纯理论,理解了为之后的更深入的学习可以打下良好的基础,下面进入正题:实际上这也是进程之间的两种关系,在学习这两种关系之前,需要回顾一下顺序程序与并...

  • Linux网络编程学习(八) ----- 文件和记录锁定(第四章)

    时间:2022-02-07 07:22:46

    1、什么是文件和记录锁定?文件锁定的是整个文件,而记录锁定只锁定文件的一部分,文件和记录锁分为咨询式锁定和强制锁定1)咨询式锁定某个进程对某个文件进行了咨询式锁定,其他想访问该文件的进程将会被操作系统告知文件已经上锁,但并不阻止这些进程对锁定文件的操作,只要有对锁定文件的存取权,这些进程便可忽略咨询...

  • Linux网络编程--wireshark分析TCP包头的格式

    时间:2021-12-25 15:45:55

    摘要:   本文简介了TCP面向连接理论知识,具体讲述了TCP报文各个字段含义。并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。一、概述   TCP是面向连接的可靠传输协议,两个进程互发数据之前须要建立连接,这里的连接仅仅只是是端系统中分配的一些缓存和状态变量,中间的分组交换机...

  • Linux网络编程之UDP Socket程序示例

    时间:2021-12-08 12:45:28

    这篇文章主要介绍了Linux网络编程之UDP Socket程序示例,有助于读者在实践中掌握UDP协议的原理及应用方法,需要的朋友可以参考下

  • Linux网络编程4——个人总结

    时间:2021-11-20 06:37:10

    TCP与UDP通信流程TCP通信的基本步骤如下:服务端:socket---bind---listen---while(1){---accept---recv---send---close---}------close客户端:socket------------------------------co...

  • linux网络编程之TCP/IP基础(四):TCP连接的建立和断开、滑动窗口

    时间:2021-11-13 01:36:11

    一、TCP段格式:TCP的段格式如下图所示源端口号与目的端口号源端口号和目的端口号,加上IP首部的源IP地址和目的IP地址唯一确定一个TCP连接。序列号序号表示在这个报文段中的第一个数据字节序号。确认号仅当ACK标志为1时有效。确认号表示期望收到的下一个字节的序号。头部长度4位,TCP头部最多60个...

  • Linux网络编程之TCP套接字

    时间:2021-11-09 01:06:19

        基于TCP(面向连接)的socket编程,分为客户端和服务器端。客户端的流程如下:(1)创建套接字(socket)(2)向服务器发出连接请求(connect)(3)和服务器端进行通信(send/recv)(4)关闭套接字服务器端的流程如下:(1)创建套接字(socket)(2)将套接字绑定到...

  • Linux网络编程必看书籍推荐

    时间:2021-10-18 03:58:26

    首先要说讲述计算机网络和TCP/IP的书很多。先要学习网络知识才谈得上编程讲述计算机网络的最经典的当属AndrewS.Tanenbaum的《计算机网络》第五版,这本书难易适中。《计算机网络(第5版)》是国内外使用最广泛、最权威的计算机网络经典教材。目前已经是第五版,本书作者80年代就开发出MINIX...

  • Linux网络编程(简单的时间获取服务器)

    时间:2021-10-06 00:51:48

    1.一个简单的服务器时间获取程序  服务器和客户端采用UDP通信的方式,来编写一个简单的时间获取应用.  把过程大致理顺一下,首先是服务器端的编写,使用的是迭代的方式,没有并发  先创建一个socket而后bind服务器,绑定之后就可以创建一个循环来接收和发送  信息了,以达到和客户端之间的通信.#...

  • linux网络编程 ntohs, ntohl, htons,htonl inet_aton等详解

    时间:2021-10-05 09:20:24

    ntohs=nettohostshortint16位htons=hosttonetshortint16位ntohs=nettohostlongint32位htonl=hosttonetlongint32位简述:将一个无符号短整形数从网络字节顺序转换为主机字节顺序。#include<arpa/i...

  • linux网络编程之TCP/IP基础(一):TCP/IP协议栈与数据报封装

    时间:2021-09-23 01:30:12

    一、ISO/OSI参考模型OSI(opensysteminterconnection)开放系统互联模型是由ISO(InternationalOrganizationforStandardization)国际标准化组织定义的网络分层模型,共七层,如下图。物理层(PhysicalLayer):物理层定义...

  • UNIX/Linux网络编程基础:图解TCP/IP协议栈

    时间:2021-09-23 01:30:06

    目录1、主机到网络层协议:以太网协议2、IP协议3、网际控制报文协议(ICMP)4、传输控制协议(TCP)5、用户数据报文协议(UDP)6、流控制传输协议(SCTP)7、地址解析协议(ARP) 联网的各个终端之间能否进行交互的软件基础是网络协议栈,目前主流的网络协议栈是TCP/IP协议栈。1、主机到...