
::网络编程
wpc320
这个作者很懒,什么都没留下…
展开
-
linux下tcp编程简单示例
server端#include using namespace std;#include #include //套接信息需要的头文件#include #include #include #include //用信号回收进程#include //标准库头文件#include //waitpid需要的头文件void func(int sig){ signal(sig, func); while(waitpid(-1, NULL, WNOHANG)>0)原创 2010-06-24 22:29:00 · 862 阅读 · 0 评论 -
多路复用服务器网络模型
<br />多路复用的方式是真正实用的服务器程序,非多路复用的网络程序只能作为学习或着陪测的角色。本文说下个人接触过的多路复用函数:select/poll/epoll/port。kqueue的*nix系统没接触过,估计熟悉了上面四种,kqueue也只是需要熟悉一下而已。<br />一、select模型<br />select原型:<br />int select(int n, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timev转载 2010-08-06 10:41:00 · 1144 阅读 · 0 评论 -
tcp三次握手示意图
<br />转载 2010-06-24 20:33:00 · 1014 阅读 · 0 评论 -
网络编程中的异步、同步、阻塞、非阻塞的理解
1、异步和同步为一组对应概念。(我们讨论同步异步,都特指那些需要其他部件协作或者需要一定时间完成的任务,因为很快完成的任务无所谓同步和异步) 同步其实就是顺序执行,如果线程A当中调用了函数B,则必须要等到B得到结果后返回,线程A才能继续进行别的工作。 异步则和同步相对,异步在调用B的时候,虽然没有B的返回结果,但线程A可以继续执行,只是在B得到结果返回的时候通过状态、通知和回调来通知调用者A。当然,使用状态检测可能很费资源,因为你必须轮询B是否返回;而采用事件或者消息机制来通知则可以大大节省系统开转载 2011-01-07 11:07:00 · 899 阅读 · 0 评论 -
网络协议
网路协议应用层DHCP ·DNS · FTP · Gopher ·HTTP · IMAP4 · IRC · NNTP · XMPP · POP3 · SIP · SMTP · SNMP · SSH · TELNET · RPC · RTCP · RTP ·RTSP ·SDP · SOAP · GTP ·转载 2012-10-17 16:48:43 · 899 阅读 · 0 评论 -
FEC(Forward Error Correction)前向纠错 UDP\RTP 中使用用于改善无线等网络丢包等问题
FEC(Forward Error Correction)前向纠错 UDP\RTP 中使用用于改善无线等网络丢包等问题算法暂不介绍。思路:FEC ENCODE 增加冗余包,当无线等网络丢包之后,接收端使用冗余包可将丢失的包DECODE出来。举例:10个包,编码后会增加2个包,共12个包发送到接收端,接收端丢失5和9包,仅靠剩下的10个包就可以解出5和9包。结果就是,接收端接收到了完原创 2012-12-17 14:55:07 · 3520 阅读 · 1 评论 -
!NAT and Traversal NAT(TURN/STUN/ICE)
NATNAT有4种不同的类型1) Full Cone这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外网的任何发到这个打开的端口的UDP数据报都可以到达A.不管是不是C发过来的.例如 A:192.168.8.100 NAT:202.100.100.100 C:292.88.88.88A(192.168.8.100:5000) -> NAT(202.100.1转载 2013-01-22 14:13:57 · 2879 阅读 · 0 评论