- 博客(6)
- 收藏
- 关注
转载 socket通信
<br />http://man.lupaworld.com/content/develop/joyfire/system/9.html<br /> socket()<br /><br />我们使用系统调用socket()来获得文件描述符:<br />#include<sys/types.h><br />#include<sys/socket.h><br />int socket(int domain,int type,int protocol);<br />第一个参数domain设置为“AF_INET”。
2011-01-12 12:24:00 228
转载 SO_REUSEADDR例解
<br />转自:http://www.cppblog.com/ace/archive/2006/04/29/6446.aspx<br /> <br />首先声明一个问题:当两个socket的address和port相冲突,而你又想重用地<br />址和端口,则旧的socket和新的socket都要已经被设置了SO_REUSEADDR特性,只<br />有两者之一有这个特性还是有问题的。 <br /> SO_REUSEADDR可以用在以下四种情况下。 <br /> (摘自《Unix网络编程》卷一
2011-01-12 11:07:00 268
转载 setsockopt
转自:http://dev.firnow.com/course/6_system/linux/Linuxjs/2008723/133811.html #include int setsockopt( int socket, int level, int option_name, const void *option_value, size_t option_len); 第一个参数socket是套接字描述符。第二个参数level是被设置的选项的级别,如果想要在套接字级别上设置选项,就必须把level设置为 S
2011-01-12 10:55:00 483
转载 epoll
<br />在linux的网络编程中,很长的时间都在使用select来做事件触发。在linux新的内核中,有了一种替换它的机制,就是epoll。<br />相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:<br />#define __FD_SETSIZE 1024<br />表示select最多同时监听1024
2011-01-10 10:51:00 153
转载 volatile
转自:http://blog.21ic.com/user1/2949/archives/2007/35599.html一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子: <br /> 1). 并行设备的硬件寄存器(如:状态寄存器) <br /> 2). 一个中断服务子程序中会访问到的非自动变量(No
2011-01-04 11:37:00 165
转载 Typelists
<br />.2 定义Typelists<br />namespace TL //而TL位于Loki名字空间<br />{<br /> template <class T, class U><br /> struct Typelist<br /> {<br /> typedef T Head;<br /> typedef U Tail;<br /> };<br />}<br />Typelist的定义就是这些. 在使用的时候如一个整数类型的typelist为:<br />typedef Typelis
2010-12-30 15:07:00 337
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人