网络编程
文章平均质量分 79
百云在飘
这个作者很懒,什么都没留下…
展开
-
setsockopt使用
setsockopt()函数用于任意类型、任意状态套接口的设置选项值。尽管在不同协议层上存在选项,但本函数仅定义了最高的“套接口”层次上的选项。选项影响套接口的操作,诸如加急数据是否在普通数据流中接收,广播数据是否可以从套接口发送等等。转载 2010-12-03 08:02:00 · 849 阅读 · 0 评论 -
关于SIGPIPE导致的程序退出
在Unix系统下,如果send在等待协议传送数据时网络断开的话,调用send的进程会接收到一个SIGPIPE信号,进程对该信号的默认处理是进程终止;在Unix系统下,如果recv在等待协议接收数据时网络断开了,那么调用recv的进程会接收到一个SIGPIPE信号,进程对该信号的默认处理是进程终止。转载 2010-12-03 07:58:00 · 964 阅读 · 0 评论 -
LDAP API
LDAP API 介绍 这篇文档定义了 LDAP API (C语言版)。它使用方便,功能强大,大致内容有以下几个方面: 简单浏览LDAP模型 应用程序怎样使用API去获取LDAP信息 详细介绍API 调用函数 举例使用API 及部分样本代码 下面我们分别介绍。 简单浏览LDAP模型 LDAP 是以client-server 模型为基础的,在此模型中,客户机可以建立与LDAP服务器的连接,从而发送请求,接收应答。转载 2010-12-21 12:19:00 · 1344 阅读 · 0 评论 -
linux 客户端 Socket 非阻塞connect编程
开发测试环境:虚拟机CentOS,windows网络调试助手 非阻塞模式有3种用途 1.三次握手同时做其他的处理。connect要花一个往返时间完成,从几毫秒的局域网到几百毫秒或几秒的广域网。这段时间可能有一些其他的处理要执行,比如数据准备,预处理等。 2.用这种技术建立多个连接。这在web浏览器中很普遍. 3.由于程序用select等待连接完成,可以设置一个select等待时间限制,从而缩短connect超时时间。多数实转载 2010-12-23 17:57:00 · 872 阅读 · 0 评论 -
TCP/UDP Socket编程 C/C++实现(Windows Platform SDK)
TCP Socket编程 C/C++实现 (Windows Platform SDK) Server: ------------------------------------------------------------ #pragma comment(lib, "ws2_32.lib") #include #include void main() { //版本协商 WORD wVersionRequested; WSADATA ws转载 2011-01-05 08:22:00 · 1246 阅读 · 0 评论 -
Ethereal过滤规则
过滤规则(Capture Filter) 一、过滤规则共有两种形式 一种是原语(Primitive) 一种是用 ”and”, “or”, “not” 关系运算符,以及括号”()”将原语组合起来而构成的表达式 二、IP过滤 1.捕获所有源或目的IP地址是 ”210.30.97.53”的报文 ip.addr==172.22.16.16 2.捕获所有目的IP地址是 ”2172.22.16.16”的报文 ip.dst==17原创 2011-01-30 03:21:00 · 1618 阅读 · 0 评论 -
网络编程常见问题
一、socket流程 socket 是面向客户/服务器模型而设计的, 针对客户和服务器程序提供不同的socket 系统调用 二、长连接和短连接 长连接:在多次请求中保持连接,使用同一个连接处理多次请求,直至出现错误或者异常才断开,并重新建立新的连接。 一般通过服务器端的长时间的读超时和客户端重用连接来实现。 典型例子:ui->as as->bs 短连接:每个请求建立一个连接,请求处理完成,则断开连接。 一般服务器端使用短的读超时。 典型例子:browser->apa原创 2011-01-30 11:27:00 · 1927 阅读 · 0 评论 -
setsockopt使用
1. closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: BOOL bReuseaddr=TRUE; setsockopt (s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)); 2. 如果要已经处于连接状态的soket在调用closesocket后强制关闭,不经历 TIME_WAIT的过程: BOOL bDontLinger = FALSE; s原创 2011-01-30 11:31:00 · 799 阅读 · 0 评论 -
网络编程与文件描述符0,1,2
在Unix高级编程第13章《守护进程》(书343-344页)中提到过,可以用如下的方法使得守护进程打开/dev/null,使其具有文件描述符0、1、2。 /* close */ for(i = 0; i原创 2011-02-24 09:44:00 · 3392 阅读 · 0 评论