linux tip/ip协议
文章平均质量分 75
某笨緢_Jun
因为笨所以要更努力
展开
-
linux 网络编程:客户端与服务器通过TCP协议相互通信 + UDP
1、TCP编程的客户端一般步骤:1、创建一个socket,用函数socket();2、设置socket属性,用函数setsockopt();* 可选;3、绑定IP地址、端口等信息到socket上,用函数bind();* 可选;4、设置要连接的对方的IP地址和端口等属性;5、连接服务器,用函数connect();6、收发数据,用函数send()和recv(),原创 2013-07-02 22:56:29 · 6789 阅读 · 0 评论 -
临时优化 可靠UDP程序
之前做的一个简单的可靠UDP传输,基本的可靠是实现了,但没做动态的流控。当时为了简单,也为了快速实现。当然 运算简单服务器也能撑起更多用户,比如一个服务端单线程进程可能撑起上万的用户连接。几个数据量小的业务,跑了几个月并没发现什么明显问题。后来迁移一个业务过去,灰度测试,客户端获取一份数据的速度很慢,比原来使用TCP的慢多了。对比之后发现用来使用TCP传的时候,这份业务数据有做压缩,迁转载 2013-09-18 22:00:00 · 1233 阅读 · 0 评论 -
TCP三次握手/四次挥手 及 状态变迁图
【建立TCP连接】(三次握手) 由于TCP协议提供可靠的连接服务,于是采用有保障的三次握手方式来创建一个TCP连接。三次握手的具体过程如下:客户端发送一个带SYN标志的TCP报文(报文1)到服务器端,表示希望建立一个TCP连接。服务器发送一个带ACK标志和SYN标志的TCP报文(报文2)给客户端,ACK用于对报文1的回应,SYN用于询问客户端是否准备好进行数据传输。客户端发送一转载 2013-10-13 10:42:48 · 1897 阅读 · 0 评论 -
Select和epoll的区别 + Linux平台下API解析
在Linux Socket服务器短编程时,为了处理大量客户的连接请求,需要使用非阻塞I/O和复用,select、poll和epoll是Linux API提供的I/O复用方式,自从Linux 2.6中加入了epoll之后,在高性能服务器领域得到广泛的应用,现在比较出名的nginx就是使用epoll来实现I/O复用支持高并发,目前在高并 发的场景下,nginx越来越收到欢迎。这里有个文章参考。Ngin转载 2013-10-16 22:02:57 · 1573 阅读 · 0 评论 -
使用 Addr2line 将函数地址解析为函数名
用 Addr2line 将函数地址解析为函数名原文链接:http://www.ibm.com/developerworks/cn/linux/l-graphvis/ Addr2line 工具(它是标准的 GNU Binutils 中的一部分)是一个可以将指令的地址和可执行映像转换成文件名、函数名和源代码行数的工具。这种功能对于将跟踪地址转换成更有意义的内容来说简直是太棒了。原创 2014-04-23 18:59:51 · 1576 阅读 · 0 评论