• 《Unix网络编程》卷2 读书笔记 第3章- System V IPC

    时间:2023-01-25 22:23:56

    1. 概述三种类型的System V IPC:System V 消息队列、System V 信号量、System V 共享内存区System V IPC在访问它们的函数和内核为它们维护的信息上共享许多类似点。本章讲述所有这些共同属性。下图汇总了所有System V IPC 函数2. key_t键、f...

  • UNIX网络编程——UDP 中的外出接口的确定

    时间:2023-01-20 03:39:09

    已连接UDP套接字还可用来确定用于特定目的地的外出接口。这是由connect函数应用到UDP套接字时的一个副作用造成的:内核选择本地IP地址。这个本地IP地址通过为目的IP地址搜索路由表得到外出接口,然后选用该接口的主IP地址而选定。注意:getsockname函数调用的位置。#include &l...

  • UNIX网络编程卷1 第一章 简介 读书笔记。

    时间:2023-01-11 16:21:07

    基本没讲什么,一点点计算机网络发展史,一点点socket()简单介绍,最重要的是1.3节协议无关性。协议无关性:贯穿整本书的一个重要特性,他主要强调的是 socket是网络协议无关的编程接口。socket给出一个struct sockaddr结构,每一种协议都有自己特定的地址结构来记录协议中需要的基...

  • UNIX网络编程 卷1 第三版 人邮版 环境搭建---unp.h

    时间:2022-12-24 20:35:14

    环境的搭建过程: 1、下载源码 随便google一下都能找到,也可以从官网下载http://unpbook.com/unpv13e.tar.gz 得到源码包:unpv13e.tar.gz 2、解压 tar -zxvf unpv13e.tar.gz 3、编译 cd unpv13e 阅读README 依...

  • UNIX网络编程卷1(第三版)关于源程序编译出错问题的详细解决方法

    时间:2022-12-24 20:35:08

     最近开始学习网络编程,由于有Linux基础,所以选择了 UNIX网络编程卷1第三版作为主要阅读书籍,按照书上建议开始调试源程序,发现编译出错,通过查找相关网络资源,总结如下解决方法与各位朋友分享! 环境说明(应该也适用于其他Linux版本): Linux系统: Ubuntu10....

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

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

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

  • UNIX网络编程——select函数的并发限制和 poll 函数应用举例

    时间:2022-12-17 19:02:50

    一、用select实现的并发服务器,能达到的并发数,受两方面限制1、一个进程能打开的最大文件描述符限制。这可以通过调整内核参数。可以通过ulimit -n来调整或者使用setrlimit函数设置, 但一个系统所能打开的最大数也是有限的,跟内存大小有关,可以通过cat /proc/sys/fs/fil...

  • ubuntu配置unix网络编程源码

    时间:2022-12-15 11:24:06

    1 ./configure # try to figure out all implementation differences2 cd lib # build the basic library that all programs need3 make ...

  • UNIX网络编程:select,epoll,poll比较

    时间:2022-12-15 10:09:26

    select,poll,epoll简介 select select本质上是通过设置或者检查存放fd标志位的数据结构来进行下一步处理。这样所带来的缺点是: 1 单个进程可监视的fd数量被限制 2 需要维护一个用来存放大量fd的数据结构,这样会使得用户空间和内核空间在传递该...

  • UNIX网络编程卷1:套接字联网API-第2章:传输层 TCP/UDP和SCTP

    时间:2022-12-10 22:28:15

    1.OSI模型 OSI(open systems interconnection)计算机通信开放系统互连模型,是一个七层的理论模型(也就是说理论上分得很细致完善,但实际中设计实现中有出入) 实际过程中我们一般采用网际网协议族 物理层和数据链路层干的事情可以对应为网络硬件和设备驱动程序,如果不是要写...

  • UDP套接字编程

    时间:2022-12-01 20:01:09

    典型的UDP客户/服务器程序的函数调用如下:1、缓冲区发送缓冲区用虚线表示,任何UDP套接字都有发送缓冲区,不过该缓冲区仅能表示写到该套接字的UDP数据报的上限。如果应用进程写一个大于套接字缓冲区大小的数据报,将会返回该进程一个EMSGSIZE错误。从写一个UDP套接字的write调用成功返回,表示...

  • Unix网络编程学习日记(三):多进程全双工socket客户端的实现

    时间:2022-12-01 08:52:37

    本程序其实写在上两篇博客的程序之前,思想更不成熟,代码更冗杂,bug也可能更多。使用父子进程的方式实现多线程可以实现的功能有些多此一举,事实上本程序的代码量是上一篇中多线程实现的三倍,内存占用是两倍有余。 不过有趣的一点是,这个小程序让我练习了三种进程间通信方法:信号、管道、消息队列。一、总述本设计...

  • UNIX网络编程 TCP套接字选项

    时间:2022-11-07 11:01:02

    一直想写一下TCP通信的事, 套接字选项: SO_DEBUG:当给一个TCP套接字开启本选项时, 内核将为TCP在该套接字发送和接收的所有分组保留详细跟踪信息。 SO_DONTROUTE:本选项规定外出的分组将绕过底层协议的正常路由机制。 SO_KEEPALIVE:本选项的功用是检测对端主机是否崩溃...

  • 【UNIX网络编程(二)】基本TCP套接字编程函数

    时间:2022-11-07 11:00:56

    基于TCP客户/服务器程序的套接字函数图如下: 执行网络I/O,一个进程必须做的第一件事就是调用socket函数,指定期望的通信协议类型。 #include <sys/socket.h> int socket(int family, int type, int protocol);/*...

  • UNIX网络编程卷1:套接字联网-第4章:基本TCP套接字编程1

    时间:2022-11-07 11:00:50

    还是那句话,我们要学会使用man查看 1.socket函数 根据指定的协议族、套接字类型和协议来分配一个套接口的描述符及其所用的资源,返回分配的套接字描述符 #include <sys/types.h> /* See NOTES */ #include <s...

  • UNIX网络编程:socket套接字(TCP与UDP)

    时间:2022-11-07 11:00:44

    套接字简介: 套接字是网络编程中的一种通信机制,是支持TCP/IP的网络通信的基本操作单元,可以看做是不同主机之间的进程进行双向通信的端点,简单的说就是通信的两方的一种约定,用套接字中的相关函数来完成通信过程。应用层通过传输层进行数据通信时,TCP和UDP会遇到同时为多个应用程序进程提供并发服...

  • 【UNIX网络编程】套接字编程简介

    时间:2022-11-07 11:00:32

    IPv4套接字地址结构: 通常也被成为“网际套接字地址结构”,以sockaddr_in命名,定义在<netinet/in.h>头文件中。 struct in_addr { in_addr_t s_addr;// 32bits的ip地址,如0xFF000001 -> 127....

  • unix网络编程第三版环境配置

    时间:2022-11-06 20:38:08

           根据unp3前沿部分的“如何使用本书”,决定先看本书的第二部分,即第3至11章,这部分偏实践。        当看到确定主机字节序的时候出现了一段程序: #include "unp.h"intmain(int argc, char **argv){ union { ...

  • UNIX网络编程——I/O复用:select和poll函数

    时间:2022-11-02 19:14:39

    我们看到TCP客户同时处理两个输入:标准输入和TCP套接字。我们遇到的问题是就在客户阻塞于(标准输入上)fgets调用,服务器进程会被杀死。服务器TCP虽然正确的给客户TCP发送了一个FIN,但是既然客户进程正阻塞于从标准输入读入的过程,它将看不到这个EOF,直到从套接字读时为止(可能额已过了很长时...

  • 《Unix网络编程》读书笔记

    时间:2022-10-28 02:03:04

    UDP和TCPUDP(User Datagram Protocol,用户数据报协议)是一个无连接协议,不保证UDP数据报会到达其最终目的地,不保证各数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次。UDP提供无连接的服务,因为UDP客户与服务器之间不必存在任何长期的关系。一个UDP客户...