在掌握了socket相关的一些函数后,套接字编程还是比较简单的,日常工作中碰到很多的问题就是客户端/服务器模型中,如何让服务端在同一时间高效的处理多个客户端的连接,我们的处理办法可能会是在服务端不停的监听客户端的请求,有新的请求到达时,开辟一个新的线程去和该客户端进行后续处理,但是这样针对每一个客户...
分类:
其他好文 时间:
2015-01-26 16:28:09
阅读次数:
169
#include int inet_aton(const char *strptr, struct int_addr *addrptr);inet_aton将strptr所指C字符串换成一个32位的网络字节序二进制,并通过指针addptr来存储。若成功返回1,否则返回2.char *inet_nto...
分类:
其他好文 时间:
2015-01-11 20:19:08
阅读次数:
185
TCP、UDP编程一般称为Socket套接字编程2.2 套接字的创建和关闭原型如下 int socket(int af,int type,int protocol)结束套接字int close(int d)2.3 Blocking 和 Nonblocking调用特定套接字函数进行数据发送或接收时,....
分类:
其他好文 时间:
2015-01-03 14:38:54
阅读次数:
168
TCP、UDP编程一般称为Socket套接字编程2.2 套接字的创建和关闭原型如下 int socket(int af,int type,int protocol)结束套接字int close(int d)2.3 Blocking 和 Nonblocking调用特定套接字函数进行数据发送或接收时,....
分类:
其他好文 时间:
2015-01-03 14:33:15
阅读次数:
152
基于TCP的Socket编程
TCP服务器:
#include
//包含头文件
#include
#include
#pragma comment(lib,"WS2_32.lib") //显式连接套接字库
int main() //主函数开始
{
WSADATA data;
//定义WSADATA结构体对象
WORD w=MAKEWORD(2,0);
//定义版本...
分类:
其他好文 时间:
2014-12-26 09:40:36
阅读次数:
249
UDP 是一个无连接、不可靠的数据报协议,任何可靠传输都需由应用程序提供,例如:超时重传、序列号应答机制,但是它在某些场合使用效率高,方便。它支持广播和多播。...
分类:
其他好文 时间:
2014-12-19 15:49:59
阅读次数:
223
本节是套接字的高级 I/O 。为套接字设置超时闹钟,使用更加方便的数据传输函数。套接字的 I/O 操作上设置超时有三种方法:
调用 alarm 函数,在它指定超时到期时产生 SIGALRM 信号;在 select 函数中设置超时阻塞等待 I/O,以替代直接阻塞在 read 或write 调用上;使用 SO_RCVTIMEO 和 SO_SNDTIMEO 套接字选项(这两个选项只是一部分实现...
分类:
其他好文 时间:
2014-12-16 11:49:22
阅读次数:
109
由于互联网终端不断增加,IPv4 地址长度(32位)已不能够满足要求,所以出现了 IPv6地址(128位),但是现有应用程序大部分还是采用 IPv4 地址形式,所以必须解决 IPv4 与 IPv6 之间的相互操作,使现有基于 IPv4 的应用程序能够与基于 IPv6 的应用程序相互通信。那么我们怎么实现 IPv4 客户端与 IPv6 服务器、IPv6 客户端与 IPv4 服务器之间的通信。...
分类:
其他好文 时间:
2014-12-15 17:20:07
阅读次数:
250
在套接字编程中,我们经常使用数字的 IP 地址和端口号进程编程,但是我们平常所熟悉的是一些便于记忆的字符名字,要使这种名字能够为套接字操作函数识别,所以这两者之间必须存在着某种转换关系。本节介绍的是 【主机名 与 地址】 和 【服务名 与 端口号】 之间的转换。在 Unix 系统中,可以使用函数 gethostbyname、gethostbyaddr 实现【主机名 与 地址】之间的转换;可以使用函数 getservbyname、getservbyport 实现 【服务名 与 端口号】 之间的转换。但是前面这...
分类:
其他好文 时间:
2014-12-15 10:33:19
阅读次数:
493