76-抽象 unix 域套接字地址
1.普通VS抽象前面我们已经学习过了sockaddr_un结构,它有一个成员sun_path,通常它保存的是一个以'\0'为结尾的绝对路径。一旦绑定了一个绝对路径,就会生成一个文件。这种unix域套接字地址我们称为普通unix域套接字地址。...
1.普通VS抽象前面我们已经学习过了sockaddr_un结构,它有一个成员sun_path,通常它保存的是一个以'\0'为结尾的绝对路径。一旦绑定了一个绝对路径,就会生成一个文件。这种unix域套接字地址我们称为普通unix域套接字地址。...
很久以前我们早已学过各种各样的进程间通信的方法,比如无名管道,有名管道共享内存等等。而使用unix域协议进行通信,也是一种进程通信的方法。所以以后面试官问你进程间通信手段,不要忘记了这种^_^.知道了unix域的套接字地址以及绑定后,其它的...
之前我们使用read,write及其他们的变体(recv,send)函数读写I/O,这些函数都是围绕着描述符工作的。我们将这一类I/O称为UnixI/O.我们也可以使用标准I/O函数库来读写I/O,它由ANSIC标准进行规范,比如fputs...
从这一篇开始,正式进入UnixDomainProtocols——Unix域协议。不过本文标题似乎与Unix域协议没有什么关系,实际上,它是unix域协议的一个应用。接下来,我们进入主题。1.如何在进程间传递描述符早先在Linux环境编程中学...
看到这个标题你可能会懵圈,没事,只是名字有点恐怖而已。在英文中,它们被称为scatterread和gatherwrite.1.引例看下面一段代码:charbuf1[10];charbuf2[20];charbuf3[15];write(fd...
设置套接字超时的第三个技术是使用套接字选项SO_RCVTIMEO与SO_SNDTIMEO,它的优势在于一次设置,所有应用于该套接字的操作都自动带有超时时间。它就好像是一个全局开关。比如对于SO_RCVTIMEO来说,如果设置了它,所有对该套...
设置超时的第二个技术是使用select函数。它使用了select函数的最后一个超时参数,对套接字描述符进行了“预读”。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/...
本文将为基本的UDP套接字编程这一章画上句号。这一篇文章主要将前面学习过的TCP和这一章的UDP结合起来,做一个既能接收TCP连接,又能接收UDP报文的回射服务器程序。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclon...
在上一篇文章中,非常详细的叙述了有连接和无连接的区别,并严格的定义了什么是有连接。然后讲解了使用connect函数将UDP套接字设置成有连接的。本文我们继续讨论有连接和无连接UDP的区别。1.多次调用connect函数上一讲我们已经知道co...
本文我们对UDP的可靠性进行测试。1.程序路径代码托管在gitos上,请使用下面的命令获取:gitclonehttps://git.oschina.net/ivan_allen/unp.git如果你已经clone过这个代码了,请使用gitp...
前面我们所用的unp/protocol/tools/winclient/echo_cli.cpp程序的特别之处是它总会发送一个小分组(TCP段,只有41字节)到服务器。这样的小分组在英文中称为tinygram,在网络状态好的情况下,比如局域...
相信大家都遇到过这样的场景:同学Luffy给你打电话,让你记下一串手机号码,可是你记忆力不太好,你跟Luffy约定,一次只最多只能报4个数字,Luffy念一遍,如果你听到了就把他说的话重复一遍。接下来:你:你一次最多报4个数字,多了我记不住...