Socket编程
Darcy_zz
有理想、有道德、有文化、有纪律的80后小青年...
展开
-
struct linger 设置socket断开连接的方式
TCP连接断开的时候调用closesocket函数,已经讨论过有优雅的断开和强制断开,那么如何设置断开连接的方式呢?是通过设置socket描述符一个linger结构体属性。linger结构体数据结构如下:struct linger{ int l_onoff; int l_linger;};有三种组合方式:第一种 l_on转载 2012-01-11 17:53:27 · 632 阅读 · 0 评论 -
struct sockaddr与struct sockaddr_in的区别和联系
一、struct sockaddr:在linux环境下,该结构体在/usr/include/linux/socket.h中定义,具体如下:struct sockaddr {unsigned short sa_family; /* 地址族, AF_xxx */char sa_data[14]; /* 14字节的协议地址*/};二、struct sockaddr_in:在l转载 2012-05-03 16:13:38 · 3319 阅读 · 0 评论 -
Linux下多路复用IO接口epoll/select/poll的区别
select比epoll效率差的原因:select是轮询,epoll是触发式的,所以效率高。Select:1.Socket数量限制:该模式可操作的Socket数由FD_SETSIZE决定,内核默认32*32=1024.2.操作限制:通过遍历FD_SETSIZE(1024)个Socket来完成调度,不管哪个Socket是活跃的,都遍历一遍.Poll:1.Socket数量几乎无限制转载 2012-11-15 22:48:29 · 1321 阅读 · 0 评论 -
Socket中listen/accept函数的区别
listen函数摘要:listen函数使用主动连接套接口变为被连接套接口,使得一个进程可以接受其它进程的请求,从而成为一个服务器进程。在TCP服务器编程中listen函数把进程变为一个服务器,并指定相应的套接字变为被动连接。listen函数在一般在调用bind之后-调用accept之前调用,它的函数原型是:intlisten(int sockfd, int backlog)参数so转载 2012-11-15 22:59:46 · 29517 阅读 · 4 评论 -
基于Socket的UDP和TCP编程
一、概述TCP(传输控制协议)和UDP(用户数据报协议是网络体系结构TCP/IP模型中传输层一层中的两个不同的通信协议。TCP:传输控制协议,一种面向连接的协议,给用户进程提供可靠的全双工的字节流,TCP套接口是字节流套接口(stream socket)的一种。UDP:用户数据报协议。UDP是一种无连接协议。UDP套接口是数据报套接口(datagramsocket)的一种。二、TC转载 2012-11-15 23:21:00 · 843 阅读 · 0 评论