
网络通讯
suhuaiqiang_janlay
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
查看本机端口的使用情况
<br />默认状态下,Windows XP系统会打开很多“服务端口”,同时在你上网的时候也会打开一些动态窗口。想要查看本地电脑打开了哪些端口、有哪些电脑正在与本地电脑交换数据,盖茨大叔已经在windows 系统内预置了查询手段,当然了,也有一些专门的程序可以查看。 <br />首先让我们来看看,windows xp自带的查询手段吧,我们将用到的工具是windows xp内置的MSdo工具。<br />运行方法:直接用快捷键WIN+R调出运行程序栏,然后输入cmd,回车就可以进入到MSdos工具了。<br转载 2010-10-16 09:13:00 · 1652 阅读 · 0 评论 -
网络编程之同步,阻塞,异步,非阻塞
<br />同步:函数没有执行完不返回,线程被挂起<br />阻塞:没有收完数据函数不返回,线程也被挂起<br />异步:函数立即返回,通过事件或是信号通知调用者<br />非阻塞:函数立即返回,通过select通知调用者<br /> <br />同步、异步、阻塞和非阻塞的概念<br /> 在进行网络编程时,我们常常见到同步、异步、阻塞和非阻塞四种调用方式。这些方式彼此概念并不好理解。下面是我对这些术语的理解。<br />同步<br /> 所谓同步,就是在发出一个功能调用时,在没有得到结果之前,该调用就转载 2011-03-14 15:27:00 · 764 阅读 · 0 评论 -
很幽默的讲解六种Socket I/O模型
<br />作 者: flyinwuhan (制怒·三思而后行)<br />本文简单介绍了当前Windows支持的各种Socket I/O模型,如果你发现其中存在什么错误请务必赐教。<br />一:select模型<br />二:WSAAsyncSelect模型<br />三:WSAEventSelect模型<br />四:Overlapped I/O 事件通知模型<br />五:Overlapped I/O 完成例程模型<br />六:IOCP模型<br />老陈有一个在外地工作的女儿,不能经常回来,老转载 2011-03-14 15:27:00 · 775 阅读 · 0 评论 -
也许,这样理解HTTPS更容易
来源:翟志军 showme.codes/2017-02-20/understand-https/如有好文章投稿,请点击 → 这里了解详情摘要:本文尝试一步步还原HTTPS的设计过程,以理解为什么HTTPS最终会是这副模样。但是这并不代表HTTPS的真实设计过程。在阅读本文时,你可以尝试放下已有的对HTTPS的理解,这样更利于“还原”过程。转载 2017-03-09 00:02:00 · 377 阅读 · 1 评论 -
HTTP长连接和短链接
1、什么是长连接、短连接在HTTP/1.0中,默认使用的是短连接。也就是说,浏览器和服务器每进行一次HTTP操作,就建立一次连接,但任务结束就中断连接。如果客户端浏览器访问的某个HTML或其他类型的 Web页中包含有其他的 Web资源,如JavaScript文件、图像文件、CSS文件等;当浏览器每遇到这样一个Web资源,就会建立一个HTTP会话。但从 HTTP/1.1起,默认使用长转载 2017-03-09 23:46:52 · 493 阅读 · 0 评论 -
TCP/IP模型的一个简单解释(使用telnet进行文本传输,同时用wireshark抓包)
TCP/IP模型是互联网的基础。想要理解互联网,就必须理解这个模型。但是,它不好懂,我就从来没有搞懂过。前几天,BetterExplained上有一篇文章,很通俗地解释了这个模型。我读后有一种恍然大悟的感觉,第一次感到自己理解了互联网的总体架构。下面,我按照自己的理解,写一下互联网到底是怎么搭建起来的。说得不对的地方,欢迎指正。什么是TCP/IP模型?TCP/IP模型是转载 2013-03-28 18:34:11 · 1320 阅读 · 0 评论 -
TCP/IP 协议简单分析
首先TCP和IP是两种不同的协议,它们来七层网络模型中分别在不同的层次,IP协议是网络层的协议,TCP是更高一层的传输层的协议,TCP是建立在IP协议之上的,所以一般把TCP和IP连在一起说TCP/IP协议。Windows系统的TCP协议栈的数据包默认是1460字节大小,如果一次传输的数据大于这个长度,会把分割成几个长度都不大于1460字节的TCP数据包,每个数据包都会被赋予一个sequnce转载 2013-03-29 14:40:20 · 842 阅读 · 0 评论 -
浅谈HTTP中Get与Post的区别
Http定义了与服务器交互的不同方法,最基本的方法有4种,分别是GET,POST,PUT,DELETE。URL全称是资源描述符,我们可以这样认为:一个URL地址,它用于描述一个网络上的资源,而HTTP中的GET,POST,PUT,DELETE就对应着对这个资源的查,改,增,删4个操作。到这里,大家应该有个大概的了解了,GET一般用于获取/查询资源信息,而POST一般用于更新资源信息。 1.根转载 2013-04-15 17:06:42 · 688 阅读 · 0 评论 -
IP地址的分类——a,b,c 类是如何划分的(一)
现在的IP网络使用32位地址,以点分十进制表示,如172.16.0.0。地址格式为:IP地址=网络地址+主机地址 或 IP地址=主机地址+子网地址+主机地址。 IP地址类型 最初设计互联网络时,为了便于寻址以及层次化构造网络,每个IP地址包括两个标识码(ID),即网络ID和主机ID。同一个物理网络上的所有主机都使用同一个网络ID,网络上的一个主机(包括网络上工作站,服务器和路由器等)有转载 2017-03-05 12:36:43 · 1113 阅读 · 0 评论 -
IP地址的分类——CIDR地址分类(二)
CIDR地址分类CIDR(Classless Inter Domain Routing)改进了传统的IPv4地址分类。传统的IP分类将IP地址直接对应为默认的分类,从而将Internet分割为网络。CIDR在路由表中增加了子网掩码(subnet masking),从而可以更细分网络。利用CIDR,我们可以灵活的将某个范围的IP地址分配给某个网络。 1) IP地址分类转载 2017-03-06 11:02:06 · 910 阅读 · 1 评论 -
邮件的发送和接收过程——STMP、POP、IMAP、MIME
电子邮件发送协议 是一种基于“ 推 ”的协议,主要包括 SMTP ; 邮件接收协议 则是一种基于“ 拉 ”的协议,主要包括 POP协议 和 IMAP协议 ,在正式介绍这些协议之前,我们先给出邮件收发的体系结构: 从上图可以看出邮件收发的整个过程大致如下: (1)发件人调用用户代理编辑要发送的邮件。 (2)发件人点击屏幕上的”发送邮件“...转载 2017-12-10 16:55:46 · 70231 阅读 · 2 评论 -
MIME协议在邮件中的应用详解
1.定义 全称是多用途互联网邮件扩展(MIME,Multipurpose Internet Mail Extensions),在MIME出台之前,使用RFC 822只能发送基本的ASCII码文本信息,邮件内容如果要包括二进制文件、声音和动画等,实现起来非常困难,最为麻烦的是多家邮件服务器商间邮件的互发,如果没有一种统一的格式定义,想要互发需要投入巨大的人力物力。MIME提供了一种可以在邮转载 2017-12-10 18:19:55 · 18541 阅读 · 2 评论 -
邮件开发涉及到的一些基本概念
1.1、邮件服务器和电子邮箱 要在Internet上提供电子邮件功能,必须有专门的电子邮件服务器。例如现在Internet很多提供邮件服务的厂商:sina、sohu、163等等他们都有自己的邮件服务器。 这些邮件服务器类似于现实生活中的邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中。 电子邮箱(E-Mail地址)的获得需要在邮件服务器上进转载 2017-11-26 16:45:49 · 2606 阅读 · 0 评论 -
IMAP协议RFC3501中文文档
因特网邮件访问协议,版本4rev1(IMAP4rev1)允许一个客户端访问和操作在一个服务器上的电子邮件。IMAP4rev1允许,以一 种功能上等效于本地文件夹的方式,操作邮箱(远程邮件文件夹)。IMAP4rev1也提供这样一个功能,一个离线客户端与服务器异步(交互)。IMAP4rev1包括以下操作:创建、删除、及重命名邮箱,检查新邮件,永久删除邮件,设置和清除标记,RFC2822及R转载 2017-11-26 17:19:41 · 11121 阅读 · 2 评论 -
手把手教你玩转SOCKET模型:完成端口(Completion Port)详解
这篇文档我非常详细并且图文并茂的介绍了关于网络编程模型中完成端口的方方面面的信息,从API的用法到使用的步骤,从完成端口的实现机理到实际使用的注意事项,都有所涉及,并且为了让朋友们更直观的体会完成端口的用法,本文附带了有详尽注释的使用MFC编写的图形界面的示例代码。 我的初衷是希望写一份互联网上能找到的最详尽的关于完成端口的教学文档,而且让对Socket编程略有了解的人都能够看得懂,都能学会...转载 2018-03-01 18:53:32 · 548 阅读 · 1 评论 -
Beej网络socket编程指南——基本概念(2)
什么是 socket? 你经常听到人们谈论着 “socket”,或许你还不知道它的确切含义。现在让我告诉你:它是使用 标准Unix 文件描述符 (file descriptor) 和其它程序通讯的方式。 什么? 你也许听到一些Unix高手(hacker)这样说过:“呀,Unix中的一切就是文件!”那个家伙也许正在说到一个事实:Unix 程序在执行任何形式的 I/O 的时候,程序是在读或者写一个文件描述符。一个文件描述符只是一个和打开的文件相关联的整数。但是(注意后面的话),这个文件可能是一个网络连接,F转载 2011-03-17 21:11:00 · 715 阅读 · 0 评论 -
Beej网络socket编程指南——Socket函数(4)
socket()函数 我想我不能再不提这个了-下面我将讨论一下socket()系统调用。 下面是详细介绍: #include #include int socket(int domain, int type, int protocol); 但是它们的参数是什么? 首先,domain 应该设置成 "AF_INET",就 象上面的数据结构struct sockaddr_in 中一样。然后,参数 type 告诉内核 是 SOCK_STREAM 类型还是 SOCK_DGRAM 类型。最后,把 protocol 设置转载 2011-03-17 23:32:00 · 787 阅读 · 1 评论 -
Beej网络socket编程指南——相关结构(3)
结构体 终于谈到编程了。在这章,我将谈到被套接字用到的各种数据类型。 因为它们中的一些内容很重要了。 首先是简单的一个:socket描述符。它是下面的类型: int 仅仅是一个常见的 int。 从现在起,事情变得不可思议了,而你所需做的就是继续看下去。注 意这样的事实:有两种字节排列顺序:重要的字节 (有时叫 "octet",即八 位位组) 在前面,或者不重要的字节在前面。前一种叫“网络字节顺序 (Network Byte Order)”。有些机器在内部是按照这个顺序储存数据,而另外 一些则不然。当我说某转载 2011-03-17 23:28:00 · 671 阅读 · 0 评论 -
端口号
<br />【端口概念】 <br />在网络技术中,端口(Port)大致有两种意思:一是物理意义上的端口,比如,ADSL Modem、集线器、交换机、路由器用 于连接其他网络设备的接口,如RJ-45端口、SC端口等等。二是逻辑意义上的端口,一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。我们这里将要介绍的就是逻辑意义上的端口。<br />【端口号】<br />那么TCP/IP协议中的端口指的是什么呢?如果把IP地址比作一间房子转载 2010-10-16 09:17:00 · 1397 阅读 · 1 评论 -
VC获得本机网络连接状态
<br />MSDN中定义了7种参数类型,但实际中wininet.h头文件中只对四种类型的值进行了定义<br />7种类型:<br />INTERNET_CONNECTION_LAN 局域网<br />INTERNET_CONNECTION_MODEM 拨号上网<br />INTERNET_CONNECTION_PROXY 代理<br />INTERNET_CONNECTION_MODEM_BUSY 代理被占用<br />INTERNET_CONNECTION_转载 2010-10-16 09:20:00 · 3229 阅读 · 0 评论 -
Socket 网络编程
本文所谈到的Socket函数如果没有特别说明,都是指的Windows Socket API。 一、WSAStartup函数 int WSAStartup( WORD wVersionRequested, LPWSADATA lpWSAData ); 使用Socket的程序在使用Socket之前必须调用WSAStartup函数。该函数的第一个参数指明程序请求使用的Socket版本,其中高位字节指明副版本、低位字节指明主版本;操作系统利用第二个参数返回请求的Socket的版本信息。当一个应用程序调用WSASta转载 2011-03-14 15:06:00 · 595 阅读 · 0 评论 -
与socket有关的一些函数介绍
1、int WSAGetLastError(void );<br /> #define h_errno WSAGetLastError()<br />错误值请自己阅读Winsock2.h。<br /><br />2、将主机的unsigned long值转换为网络字节顺序(32位):为什么要这样做呢?因为不同的计算机使用不同的字节顺序存储数据。因此任何从Winsock函数对IP地址和端口号的引用和传给Winsock函数的IP地址和端口号均时按照网络顺序组织的。<br /> u_lon转载 2011-03-14 15:18:00 · 544 阅读 · 0 评论 -
.套接字IO模型(一) Select模型
<br />讲一下套接字模式和套接字I/O模型的区别。先说明一下,只针对Winsock,如果你要骨头里挑鸡蛋把UNIX下的套接字概念来往这里套,那就不关我的事。<br />套接字模式:阻塞套接字和非阻塞套接字。或者叫同步套接字和异步套接字。<br />套接字模型:描述如何对套接字的I/O行为进行管理。<br />Winsock提供的I/O模型一共有五种:<br />select,WSAAsyncSelect,WSAEventSelect,Overlapped,Completion。今天先讲解select。<转载 2011-03-14 15:33:00 · 794 阅读 · 0 评论 -
Winsock2中WSAAsynSelect()模型各种事件的触发条件
<br />使用WSAAsynSelect()模型的关键是要搞清楚各种事件的触发条件,不然会造成读或写数据混乱。<br /> 这些事件的触发条件同样适用于CAsyncSocket<br /> =======================<br /> [1]FD_READ事件触发条件:<br /> 1.在数据到达socket后,并且从来没有触发过FD_READ(也就是最开始的阶段)<br /> 2.在数据到达socket后,并且前一个recv()调用后<br /> 3.调用recv()后,缓冲区转载 2011-03-14 15:33:00 · 722 阅读 · 0 评论 -
setsockopt函数的功能列举
<br />1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用 <br />closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket: <br />BOOL bReuseaddr=TRUE; <br />setsockopt(s,SOL_SOCKET ,SO_REUSEADDR,(const char*)&bReuseaddr,sizeof(BOOL)); <br />2. 如果要已经处于转载 2011-03-14 15:35:00 · 939 阅读 · 0 评论 -
套接字I/O模型之WSAEventSelect
今天我又学习了一种新的套接字I/O模型------WSAEventSelect,他与WSAAsyncSelect一样也是一种异步事件通知模型,不同的是WSAAsyncSelect是与窗口句柄关联在一起的,必须要要窗口才行,而WSAEventSelect是与事件对象关联的。这个模型的基本思路是为感兴趣的一组网络事件创建一个事件对象,再调用WSAEventSelect函数将网络事件和事件对象关联起来。当网络事件发生时,winsock使响应的事件对象受信,在事件对象上等待的函数就会立即返回。之后调用WSAEnum转载 2011-03-14 15:25:00 · 829 阅读 · 0 评论 -
套接字I/O模型之 消息机制-WSAAsyncSelect
WSAAsyncSelect基于Windows消息机制异步I/O模型,为特定网络事件指定系统通知信息.函数定义int WSAAsyncSelect(SOCKET s, HWND hWnd, unsigned int wMsg, long lEvent);(1)参数4-1Event:设定用户关心得套接口上的网络事件.形式如:1Event=FD_READ/FD_CLOSE.网络I/O事件 简表事件值 含义转载 2011-03-14 15:26:00 · 1402 阅读 · 0 评论 -
ioctlsocket()
<br />简述:<br /> 控制套接口的模式。<br /> #include <winsock.h><br /> int PASCAL FAR ioctlsocket( SOCKET s, long cmd, u_long FAR* argp);<br /> s:一个标识套接口的描述字。<br /> cmd:对套接口s的操作命令。<br /> argp:指向cmd命令所带参数的指针。<br /> 注释:<br /> 本函数可用于任一状态的任一套接口。它用于获取与套接口相关的操作参数,而与转载 2011-03-14 15:29:00 · 600 阅读 · 0 评论 -
TCP/IP体系结构
一、TCP/IP 体系结构与特点 1、TCP/IP体系结构 TCP/IP协议实际上就是在物理网上的一组完整的网络协议。其中TCP是提供传输层服务,而IP则是提供网络层服务。TCP/IP包括以下协议:(结构如图1.1) (图1.1) IP: 网间协议(Internet Protocol) 负责主机间数据的路由和网络上数据的存储。同时为ICMP,TCP,UDP提供分组发送服务。用户进程通常不需要涉及这一层。 ARP: 地址解析协议(Address Resolution Protocol) 此协议将网转载 2011-03-16 22:42:00 · 758 阅读 · 0 评论 -
Beej网络socket编程指南——目录(1)
<br />介绍 <br /> Socket 编程让你沮丧吗?从man pages中很难得到有用的信息吗?你想跟上时代去编Internet相关的程序,但是为你在调用 connect() 前的bind() 的结构而不知所措?等等… <br /> 好在我已经将这些事完成了,我将和所有人共享我的知识了。如果你了解 C 语言并想穿过网络编程的沼泽,那么你来对地方了。 <br /><br />-----------------------------------------------------------转载 2011-03-17 21:09:00 · 712 阅读 · 0 评论 -
Beej网络socket编程指南——实例(5)
客户-服务器背景知识 这里是个客户--服务器的世界。在网络上的所有东西都是在处理客户进 程和服务器进程的交谈。举个telnet 的例子。当你用 telnet (客户)通过23 号端口登陆到主机,主机上运行的一个程序(一般叫 telnetd,服务器)激活。 它处理这个连接,显示登陆界面,等等。 图2:客户机和服务器的关系 图 2 说明了客户和服务器之间的信息交换。 注意,客户--服务器之间可以使用SOCK_STREAM、SOCK_DGRAM 或者其它(只要它们采用相同的)。一些很好的客户--服务器的例子有转载 2011-03-18 22:45:00 · 848 阅读 · 0 评论 -
HTTP1.0、HTTP1.1 和 HTTP2.0 的区别
原文:https://mp.weixin.qq.com/s/GICbiyJpINrHZ41u_4zT-A 一、HTTP的历史早在 HTTP 建立之初,主要就是为了将超文本标记语言(HTML)文档从Web服务器传送到客户端的浏览器。也是说对于前端来说,我们所写的HTML页面将要放在我们的 web 服务器上,用户端通过浏览器访问url地址来获取网页的显示内容,但是到了 WEB2.0 以来,我们...转载 2019-01-18 17:37:17 · 293 阅读 · 0 评论