![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
网络编程
文章平均质量分 65
邹亚鹏
- -!!
展开
-
sockaddr_in , sockaddr , in_addr区别 .
struct sockaddr { unsigned short sa_family; char sa_data[14]; }; 上面是通用的socket地址,具体到Internet socket,用下面的结构,二者可以进行类型转换转载 2012-12-10 09:58:16 · 350 阅读 · 0 评论 -
CLOSE_WAIT状态的原因与解决方法
这个问题之前没有怎么留意过,是最近在面试过程中遇到的一个问题,面了两家公司,两家公司竟然都面到到了这个问题,不得不使我开始关注这个问题。说起CLOSE_WAIT状态,如果不知道的话,还是先瞧一下TCP的状态转移图吧。 关闭socket分为主动关闭(Active closure)和被动关闭(Passive closure)两种情况。前者是指有本地主机主动发起的关闭;而后者则是指本地主机转载 2014-07-16 15:56:18 · 687 阅读 · 0 评论 -
linux 下端口close_wait 过多
情景描述:系统产生大量“Too many open files” 原因分析:在服务器与客户端通信过程中,因服务器发生了socket未关导致的closed_wait发生,致使监听port打开的句柄数到了1024个,且均处于close_wait的状态,最终造成配置的port被占满出现“Too many open files”,无法再进行通信。 close_wait状态出现的原因是被动关闭方转载 2014-07-16 15:54:54 · 729 阅读 · 0 评论 -
STUN, STUNT, XSTUNT
STUN (From: http://zh.wikipedia.org/w/index.php?title=STUN&variant=zh-cn) STUN(Simple Traversal of User Datagram Protocol through Network Address Translators (NATs),NAT的UDP简单穿越)是一种网络协议,它允许位于NAT(转载 2014-05-16 17:52:17 · 879 阅读 · 0 评论 -
linux下获取本机公网ip
curl http://iframe.ip138.com/ic.asp原创 2014-03-17 16:51:56 · 813 阅读 · 0 评论 -
linux socket模板
服务器端 #include #include #include #include #include #include #include #define MAXLINE 4096 int main(int argc, char** argv) { int listenfd, connfd; struct sockaddr_in servaddr; char原创 2013-12-05 14:13:59 · 624 阅读 · 0 评论 -
htonl(), ntohl(), htons(), ntohs().
htonl(): 将主机的无符号长整形数转换成网络字节顺序。 #include uint32_t htonl(uint32_t hostlong); hostlong:主机字节顺序表达的32位数。 htonl()返回一个网络字节顺序的值。 ntohl(): 将一个无符号长整形数从网络字节顺序转换为主机字节顺序。 #include uint32_t nt原创 2013-12-05 14:32:27 · 689 阅读 · 0 评论 -
select用于实现I/O多路复用
阻塞和非阻塞 阻塞函数在完成其指定的任务以前不允许程序调用另一个函数。例如,程序执行一个读数据的函数调用时,在此函数完成读 操作以前将不会执行下一程序语句。当服务器运行到accept语句时,而没有客户连接服务请求到来,服务器就会停止在accept语句上等待连接服务请求 的到来。这种情况称为阻塞(blocking)。而非阻塞操作则可以立即完成。比如,如果你希望服务器仅仅注意检查是否有客户在等转载 2012-07-24 19:03:22 · 1232 阅读 · 0 评论 -
2.4内核中task_struct结构体全解
/*转自:http://wenku.baidu.com/view/9132d213f18583d049645902.html*/ ******************************************** 为了管理进程,操作系统必须对每个进程所做的事情进行清楚地描述,为此,操作系统使用数 据结构来代表处理不同的实体,这个数据结构就是通常所说的进程描述符或转载 2012-11-08 10:52:10 · 778 阅读 · 0 评论 -
Socket的错误码和描述(中英文翻译)
//下面是Socket Error的错误码和描述: Socket error 0 - Directly send error Socket error 10004 - Interrupted function //call 操作被终止 Socket error 10013 - Permission denied //c访问被拒绝 Socket error 10014 - Ba转载 2014-08-01 13:14:30 · 1404 阅读 · 0 评论