网络通信编程
etetet029
xxxxx
展开
-
如何写安全的网络通讯服务器程序----避免程序崩溃的几种方式
首先,必须保证不使用如下三个函数:strcpy, strcat, sprintf.因为他们不检查目的端的大小,如果源字符串长度大于目的端的缓冲区大小,则会导致程序崩溃。所以如果在网络服务器上使用了如上函数,假如客户端不小心发送了一个超大的字符串过来,那么服务器程序很容易崩溃。替代方案如下:strncpy, strncat, snprintf.因为他们指定了目的端的大小,如果源字符串长度太长,则多余的内容会被丢弃。 其次,服务器端程序一定要保证协议层的缓冲区不被堵塞。避免方法有:1,原创 2010-08-18 20:34:00 · 881 阅读 · 0 评论 -
基于tcp/ip协议的网络编程的一点感悟 ---关于ip和port作为通讯一端的唯一标识的认识
对于基于tcp的应用程序来说,无论是客户端,还是服务器端,唯一标识对端id的是socket pair {本地ip:本地port, 远端ip:远端port},底层的ip协议数据包肯定包含源ip和port,目的ip和port, 当此数据包到达目的地时,目标主机的tcp连接就会匹配此连接的soket pair是否和数据包的socket pair 相同,如果相同,则数据进入tcp流队列,等待应用程序获取,如果应用程序此时堵死在处理程序中,导致数据包没有被取走,那么网络上过来的数据包就不会进入tcp流队列原创 2010-08-18 18:40:00 · 3086 阅读 · 0 评论 -
关于 TCP 并发连接的几个思考题与试验
陈硕 (giantchen AT gmail) blog.csdn.net/Solstice 前几天我在新浪微博上出了两道有关 TCP 的思考题,引发了一场讨论 http://weibo.com/1701018393/eCuxDrta0Nn 。 第一道初级题目是: 有一台机器,它有一个 IP,上面运行了一个 TCP 服务程序,程序只侦听一个端口,问:从理论上讲(只考虑 TCP/IP 这转载 2012-06-05 14:05:29 · 788 阅读 · 0 评论