上一页 1 ··· 67 68 69 70 71 72 73 74 75 ··· 121 下一页

2013年7月26日

UNIX网络编程——非阻塞connect: Web客户程序

摘要: 非阻塞的connect的实现例子出自Netscape的Web客户程序。客户先建立一个与某个Web服务器的HTTP连接,再获取一个主页。该主页往往含有多个对于其他网页的引用。客户可以使用非阻塞connect同时获取多个网页,以此取代每次只获取一个网页的串行获取手段。图16-12展示了一个并... 阅读全文

posted @ 2013-07-26 14:15 疯子123 阅读(197) 评论(0) 推荐(0) 编辑

UNIX网络编程——非阻塞connect:时间获取客户程序

摘要: #include "unp.h"intconnect_nonb(int sockfd, const SA *saptr, socklen_t salen, int nsec){ int flags, n, error; socklen_t len; fd_set rset, wset;... 阅读全文

posted @ 2013-07-26 13:14 疯子123 阅读(277) 评论(0) 推荐(0) 编辑

UNIX网络编程——非阻塞connect

摘要: 当在一个非阻塞的TCP套接字上调用connect时,connect将立即返回一个EINPROGRESS错误,不过已经发起的TCP三次握手继续进行。我们接着使用select检测这个连接或成功或失败的已建立条件。非阻塞的connect有三个用途:我们可以把三次握手叠加在其他处理上。完成一个c... 阅读全文

posted @ 2013-07-26 13:05 疯子123 阅读(124) 评论(0) 推荐(0) 编辑

UNIX网络编程——非阻塞式I/O(套接字)

摘要: 套接字的默认状态是阻塞的。这就意味着当发出一个不能立即完成的套接字调用时,其进程将被投入睡眠,等待相应的操作完成。可能阻塞的套接字调用可分为以下4类:(1)输入操作,包括read,readv,recv,recvfrom和recvmsg共5个函数。如果某个进程对一个阻塞的TCP套接字(默认... 阅读全文

posted @ 2013-07-26 12:35 疯子123 阅读(295) 评论(0) 推荐(0) 编辑

UNIX网络编程——使用select 实现套接字I/O超时

摘要: 下面程序包含read_timeout、write_timeout、accept_timeout、connect_timeout 四个函数封装:/* read_timeout - 读超时检测函数,不含读操作 * fd:文件描述符 * wait_seconds:等待超时秒数, 如果为0表示不... 阅读全文

posted @ 2013-07-26 11:52 疯子123 阅读(255) 评论(0) 推荐(0) 编辑

UNIX网络编程——设置套接字超时

摘要: 在涉及套接字的I/O操作上设置超时的方法有以下3种:调用alarm,它在指定超时期时产生SIGALRM信号。这个方法涉及信号处理,而信号处理在不同的实现上存在差异,而且可能干扰进程中现有的alarm调用。在select中阻塞等待I/O(select有内置的时间限制),以此代替直接阻塞在r... 阅读全文

posted @ 2013-07-26 11:28 疯子123 阅读(170) 评论(0) 推荐(0) 编辑

UNIX网络编程——名字与地址转换(gethostbyname,gethostbyaddr,getservbyname,getservbyport,getaddrinfo,getnameinfo函数)

摘要: 名字和数值地址间进行转换的函数:gethostbyname和gethostbyaddr在主机名字与IPv4地址之间进行转换。getservbyname和getservbyport在服务器名字和端口号之间进行转换。还有两个协议无关的转换函数:getaddrinfo和getnameinfo,... 阅读全文

posted @ 2013-07-26 10:53 疯子123 阅读(170) 评论(0) 推荐(0) 编辑

2013年7月25日

UNIX网络编程——使用select函数的TCP和UDP回射服务器程序

摘要: 服务器程序:#include #include #include #include #include #include #include #include #include #include #include #include #include #define SERV_PORT 3334#def... 阅读全文

posted @ 2013-07-25 19:16 疯子123 阅读(220) 评论(0) 推荐(0) 编辑

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

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

posted @ 2013-07-25 18:38 疯子123 阅读(188) 评论(0) 推荐(0) 编辑

UNIX网络编程——UDP缺乏流量控制(改进版)

摘要: 现在我们查看无任何流量控制的UDP对数据报传输的影响。首先我们把dg_cli函数修改为发送固定数目的数据报,并不再从标准输入读。如下,它写2000个1400字节大小的UDP数据报给服务器。客户端程序cli.c:#include #include #include #include #in... 阅读全文

posted @ 2013-07-25 18:05 疯子123 阅读(177) 评论(0) 推荐(0) 编辑

上一页 1 ··· 67 68 69 70 71 72 73 74 75 ··· 121 下一页

导航