1.libpcap下载地址:http://www.tcpdump.org/release/libpcap-1.6.2.tar.gz2.编译内核时,需要选中packet socket(CONFIG_PACKET)。3.安装依赖libpcap-dev,flex,bison或者yacc。# apt-get...
分类:
其他好文 时间:
2014-09-27 23:10:20
阅读次数:
251
在linux环境下,结构体struct sockaddr在/usr/include/linux/socket.h中定义,具体如下:typedef unsigned short sa_family_t;struct sockaddr { sa_family_t sa_family; /* addres...
分类:
其他好文 时间:
2014-09-27 21:09:20
阅读次数:
157
int setsockopt(SOCKET s,int level,int optname,const char* optval,int optlen);s(套接字): 指向一个打开的套接口描写叙述字level:(级别): 指定选项代码的类型。SOL_SOCKET: 基本套接口IPPROTO_IP:...
分类:
其他好文 时间:
2014-09-27 18:55:20
阅读次数:
308
1.为了安全的进行通信,基于ACK确认机制使用selector机制的多路复用的IO通信机制,此外还有epoll控制业务挂接点或者接入点:常见的接入点: RDBMS进行CRUD MQ消息服务器接入 SOA接入点如果统一,最好使用adapter适配器接入,方便扩展package com.text....
分类:
其他好文 时间:
2014-09-27 10:06:29
阅读次数:
346
??
1
Socket编程
socket这个词可以表示很多概念:
在TCP/IP协议中,“IP地址+TCP或UDP端口号”唯一标识网络通讯中的一个进程,“IP
地址+端口号”就称为socket。
在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket
pair就唯一标识一个连接。socket本身有“插座”的意思...
分类:
其他好文 时间:
2014-09-27 00:13:29
阅读次数:
326
心跳包的发送,通常有两种技术
方法1:应用层自己实现的心跳包
由应用程序自己发送心跳包来检测连接是否正常,大致的方法是:服务器在一个 Timer事件中定时 向客户端发送一个短小精悍的数据包,然后启动一个低级别的线程,在该线程中不断检测客户端的回应, 如果在一定时间内没有收到客户端的回应,即认为客户端已经掉线;同样,如果客户端在一定时间内没 有收到服务器的心跳包,则认为连接不可用。
方法...
分类:
其他好文 时间:
2014-09-26 23:17:18
阅读次数:
456
我写了一个服务器程序,在Linux下测试,然后用C++写了客户端用千万级别数量的短链接进行压力测试. 但是服务器总是莫名退出,没有core文件.
最后问题确定为, 对一个对端已经关闭的socket调用两次write, 第二次将会生成SIGPIPE信号, 该信号默认结束进程.
具体的分析可以结合TCP的"四次握手"关闭. TCP是全双工的信道, 可以看作两条单工信道, TCP连接两...
分类:
其他好文 时间:
2014-09-26 23:05:48
阅读次数:
250
--------------------------- Debugger Exception Notification ---------------------------Project xxx.exe raised exception class EIdSocketError with mess...
分类:
数据库 时间:
2014-09-26 21:53:48
阅读次数:
643
MySQL数据库错误server_errno=2013的解决 一组MySQL复制环境中的Master意外掉电,重启后Master运行正常,但该复制环境中的其它slave端,Error Log中却抛出的如下错误信息:Version: '5.6.17-log' socket: '' port: 3...
分类:
数据库 时间:
2014-09-26 21:19:28
阅读次数:
669
异步套接字:如果使用阻塞的套接字的话,在控制台下还好!如果是WIN32程序的话,那么就容易造成界面的假死,因为接收函数一直等待有消息进来之后才会被返回!所以此时界面一直属于假死的状态,如果你乱动的话,那么就容易真死了。解决办法如下:第一:使用多线程技术,多线程和SOCKET结合的话,可以使用单独一个...