59-UDP 数据报丢失

1. 程序路径 代码托管在 gitos 上,请使用下面的命令获取: git clone https://git.oschina.net/ivan_allen/unp.git 如果你已经 cl...
焦点IT 2018/03/31 317

58-基于 UDP 协议的回射服务器

1. UDP 协议概述 UDP 协议比 TCP 协议要简单的多,它是一种无连接的协议。无连接,意味着各个报文没有顺序性,你可能先发了一个数据包 A,后发一个数据包 B,结果对方却先收到 B,后收到 ...
焦点IT 2018/03/31 361

61-面向连接的 UDP

前面我们已经知道,UDP 编程中的调用 sendto 和 recvfrom 产生的错误是不会返回的。主要原因在于套接字是无连接的。 要想让它们返回错误,只有让套接字变成有连接的。 1. 程序路...
焦点IT 2018/03/31 333

60-客户端也能做服务器?

本文的标题预示着接下来我们要做一件有意思的事,之前我们写的客户端程序,也可以拿来做服务器使用。 1. 程序路径 代码托管在 gitos 上,请使用下面的命令获取: git clone h...
焦点IT 2018/03/31 384

63-不可靠的 UDP 协议

本文我们对 UDP 的可靠性进行测试。 1.程序路径 代码托管在 gitos 上,请使用下面的命令获取: git clone https://git.oschina.net/ivan_all...
焦点IT 2018/03/31 307

62-UDP 与 connect

在上一篇文章中,非常详细的叙述了有连接和无连接的区别,并严格的定义了什么是有连接。然后讲解了使用 connect 函数将 UDP 套接字设置成有连接的。 本文我们继续讨论有连接和无连接 UDP 的区...
焦点IT 2018/03/31 260

65-高级 I/O 函数与技术

UDP 的基础内容已经结束,但是 UDP 远远不止于此,后面还会有更多关于 UDP 更多的讨论。不过在此之前,我们还得学习更多更高级的网络编程知识。 很久以前学习 Linux 环境编程时,也写过高级...
焦点IT 2018/04/02 300

64-TCP/UDP 混合服务器

本文将为基本的 UDP 套接字编程这一章画上句号。这一篇文章主要将前面学习过的 TCP 和这一章的 UDP 结合起来,做一个既能接收 TCP 连接,又能接收 UDP 报文的回射服务器程序。 1. 程...
焦点IT 2018/03/31 339

67-套接字超时(select)

设置超时的第二个技术是使用 select 函数。它使用了 select 函数的最后一个超时参数,对套接字描述符进行了“预读”。 1. 程序路径 代码托管在 gitos 上,请使用下面的命令获取: ...
焦点IT 2018/03/31 408

66-套接字超时(alarm)

我们知道,使用 read 或 recvfrom 函数从 socket 上读取数据时,可能会导致阻塞。特别是 UDP 服务器,稍有不甚,数据报就丢失就会直接导致程序假死(阻塞在 recvfrom)。 ...
焦点IT 2018/03/31 269

友情链接