linux网络编程
文章平均质量分 81
daydayup
this is a good boy
展开
-
linux网络编程入门socket函数介绍
我们深谙信息交流的价值,那网络中进程之间如何通信,如我们每天打开浏览器浏览网页时,浏览器的进程怎么与web服务器通信的?当你用QQ聊天时,QQ进程怎么与服务器或你好友所在的QQ进程通信?这些都得靠socket?那什么是socket?socket的类型有哪些?还有socket的基本函数,这些都是本文想介绍的。本文的主要内容如下:1、网络中进程之间如何通信?2、Socket是什么?转载 2015-07-09 15:50:54 · 482 阅读 · 0 评论 -
长期使人困惑的问题:TCP连接中断的实时检测
目前TCP/IP已经成为网络的主导技术。通过对TCP底层实现的分析,对TCP/IP编程中一个长期使人困惑的问题----网络连接中断的实时检测—进行深入的分析,并提出相应的解决方案。 0引言 作为现代网络的主导技术,TCP/IP编程看起来非常简单,但在经历了最初的高效率后,往往会在细节面前停滞不前,这常常是因为对TCP协议底层细节的缺乏了解所导致的。 TCP是面向连接协议,转载 2016-03-24 17:29:31 · 8543 阅读 · 0 评论 -
wireshark抓包图解 TCP三次握手/四次挥手详解
一. TCP/IP协议族 TCP/IP是一个协议族,通常分不同层次进行开发,每个层次负责不同的通信功能。包含以下四个层次:1. 链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡。它们一起处理与电缆(或其他任何传输媒介)的物理接口细节。2. 网络层,也称作互联网层,处理分组在网络中的活动,例如分组的选路。网络层协议包转载 2015-08-04 11:46:57 · 562 阅读 · 0 评论 -
tcp异步connect
1.将打开的socket设为非阻塞的,可以用fcntl(socket, F_SETFL,O_NDELAY)完 成(有的系统用FNEDLAY也可). 2.发connect调用,这时返回-1,但是errno被设为EINPROGRESS,意即connect仍旧 在进行还没有完成. 3.将打开的socket设进被监视的可写(注意不是可读)文件集合用select进行监视,转载 2015-07-20 16:28:09 · 1923 阅读 · 0 评论 -
setsockopt的作用
功能描述: 获取或者设置与某个套接字关联的选 项。选项可能存在于多层协议中,它们总会出现在最上面的套接字层。当操作套接字选项时,选项位于的层和选项的名称必须给出。为了操作套接字层的选项,应该 将层的值指定为SOL_SOCKET。为了操作其它层的选项,控制选项的合适协议号必须给出。例如,为了表示一个选项由TCP协议解析,层应该设定为协议 号TCP。用转载 2015-07-06 14:12:34 · 527 阅读 · 0 评论 -
recv函数的用法详解
recv函数int recv( SOCKET s, char FAR *buf, int len, int flags ); 不论是客户还是服务器应用程序都用recv函数从TCP连接的另一端接收数据。该函数的第一个参数指定接收端套接字描述符;第二个参数指明一个缓冲区,该缓冲区用来存放recv函数接收到的数据;第三个参数指明buf的长度;转载 2015-07-06 11:11:23 · 17441 阅读 · 0 评论 -
TCP状态转换图
原创 2015-07-13 15:54:24 · 483 阅读 · 0 评论 -
select()函数以及FD_ZERO、FD_SET、FD_CLR、FD_ISSET
select函数用于在非阻塞中,当一个套接字或一组套接字有信号时通知你,系统提供select函数来实现多路复用输入/输出模型,原型:int select(int maxfd,fd_set *rdset,fd_set*wrset,fd_set *exset,struct timeval*timeout); 所在的头文件为:#include 和#include 先对函数中的参数做一个简转载 2015-07-06 09:53:16 · 433 阅读 · 0 评论 -
socket关闭的close和shutdown区别
socket关闭close和shutdownsocket关闭有2个close,shutdown他们之间的区别:close-----关闭本进程的socket id,但链接还是开着的,用这个socket id的其它进程还能用这个链接,能读或写这个socket idshutdown--则破坏了socket 链接,读的时候可能侦探到EOF结束符,写的时候可能会收到一个SIG转载 2015-07-10 10:03:42 · 3411 阅读 · 0 评论 -
tcp连接listen的backlog剖析
TCP连接中,最重要的是连接TCP连接上,两个方向之间的各个状态及各个系统调用与状态之间的关系。往往可以以两种图表示,第一种是状态转换图,第二种是连接时序图。如下:状态图:时序图: 可见,listen状态是服务器接收连接建立的必经之路。调用listen后,服务器即进入了LISTEN状态。listen为:int listen(int sockfd, int backlog);其backlog是...转载 2018-04-11 14:46:21 · 1331 阅读 · 0 评论