
UNIX网络编程
Soar-
这个作者很懒,什么都没留下…
展开
-
UNIX网络编程(五)---TCP客户/服务器程序示例
一、概述 下面的简单的例子是执行如下步骤的一个回射服务器: 1)客户从标准输入读入一行文本,并写给服务器 2)服务器从网络输入读入这行文本,并回射给客户 3)客户从网络输入读入这行回射文本,并显示在标准输出上 全双工TCI连接,fgets和fputs使用的是标准I/O程序库,writen和readline都是read和write。 我们还要考虑许多边界条件:客户和服务器启动时...原创 2019-05-18 23:51:49 · 475 阅读 · 0 评论 -
UNIX网络编程 第2章 传输层:TCP UDP 和SCTP
UNIX网络编程 第2章 传输层:TCP UDP 和SCTP 一、概述 本章的焦点是:TCP UDP SCTP(流控制传输协议),SCTP是一个较新的传输协议,最初被设计用来因特网传输电话信令。 应用层数据可以绕过传输层,直接使用IPv4或者IPv6,但这种技术很少使用(原始套接字)。 UDP是一个简单的、不可靠的数据报协议;而TCP协议是一个复杂、可靠的...原创 2019-05-09 17:04:32 · 321 阅读 · 0 评论 -
UNIX网络编程(三)---套接字编程简介
UNIX网络编程 第3章 套接字编程简介 一、套接字地址基本结构 大多数套接字地址结构以sockaddr_in命名,每个协议族都定义它的套接字地址结构。 1)IPv4套接字地址结构 为什么in_addr结构体内仅有一个in_addr_t字段的结构? 以前地址被分为A,B,C类的时候,为了便于获得地址中的适当字节,允许访问一个32位IPv4地址...原创 2019-05-11 13:41:34 · 238 阅读 · 0 评论 -
UNIX网络编程(六)---I/O复用:select和poll函数
一、概述 我们前面看到TCP客户同时处理两个输入:标准输入和TCP套接字。我们遇到的问题是客户阻塞于(标准输入)fgets调用期间,服务器进程会被kill。服务器TCP虽然正确地发送了一个FIN,但是客户进程正阻塞于标准输入的过程,它将看不到这个EOF,直到从套接字读时为止(可能已经过了很久我们才输入)。 这样的进程需要一种预先告知内核的能力,使得内核一旦发现进程指定一个或者多个I/O条件就绪...原创 2019-05-21 09:56:40 · 277 阅读 · 0 评论 -
UNIX网络编程(四)---基本TCP套接字编程
UNIX网络编程(四)---基本TCP套接字编程 一、socket函数 family: type: protocol: 为什么还需要第三个protocol参数?协议族信息和套接字数据传输方式不足以决定采用的协议吗?为什么还需要第三个参数? 因为在同一协议族中,可能存在着多个数据传输方式相同的协议。 返回值...原创 2019-05-11 16:36:50 · 321 阅读 · 0 评论