网络工程
张明奇-琦玉
乐观,自信,阳光,相信明天会更好
展开
-
TCP和UDP的区别
TCP与UDP区别TCP---传输控制协议,提供的是面向连接、可靠的字节流服务。当客户和服务器彼此交换数据前,必须先在双方之间建立一个TCP连接,之后才能传输数据。TCP提供超时重发,丢弃重复数据,检验数据,流量控制等功能,保证数据能从一端传到另一端。UDP---用户数据报协议,是一个简单的面向数据报的运输层协议。UDP不提供可靠性,它只是把应用程序传给IP层的数据报发送出去,但是并不能保原创 2012-03-14 14:46:00 · 892 阅读 · 0 评论 -
详解内网IP外网IP的关联及访问互联网原理
首先解释一下“内网”与“外网”的概念: 内网:即所说的局域网,比如学校的局域网,局域网内每台计算机的IP地址在本局域网内具有互异性,是不可重复的。但两个局域网内的内网IP可以有相同的。 外网:即互联网,局域网通过一台服务器或是一个路由器对外连接的网络,这个IP地址是惟一的。也就是说内网里所有的计算机都是连接到这一个外网IP上,通过这一个外网IP对外进行交换数据的。也就是说,一个原创 2014-03-07 09:49:36 · 1673 阅读 · 0 评论 -
TCP/IP下的组播编程基础
本文讨论基于TCP/IP下的组播编程基础。所有的例子都可以Windows下台运行。本文不会涉及到组播协议的实现,只是讨论组播编程需要的环境及API函数。关于组播的实现和需要的协议笔者 将会另写文章讨论。组播描述 组播(Multicast)是网络一种点对多(one to many)的通信方式,通过报文复制完成网络中一台server对应多台接收者的高效数据传 送。对其形象的比喻就是类似于转载 2014-07-09 17:36:29 · 1021 阅读 · 0 评论 -
端口重用(如何解除bind绑定)
[socket]如何解除绑定bind()?我找的关于setsockopt的资料:1. 如果在已经处于 ESTABLISHED状态下的socket(一般由端口号和标志符区分)调用closesocket(一般不会立即关闭而经历TIME_WAIT的过程)后想继续重用该socket:BOOL bReuseaddr=TRUE;setsockopt(s,SOL_SOCK转载 2015-01-27 10:11:32 · 8910 阅读 · 1 评论 -
MFC socket编程(浅出+深度:服务端和客户端端口问题)
要写网络程序就必须用Socket,这是程序员都知道的。而且,面试的时候,我们也会问对方会不会Socket编程?一般来说,很多人都会说,Socket编程基本就是listen,accept以及send,write等几个基本的操作。是的,就跟常见的文件操作一样,只要写过就一定知道。 对于网络编程,我们也言必称TCP/IP,似乎其它网络协议已经不存在了。对于TCP/IP,我们还知道TCP和UDP,前者可以原创 2015-01-16 11:53:19 · 2616 阅读 · 0 评论 -
MFC中CAsyncSocket及其派生类对象跨线程使用方法
MFC中CAsyncSocket及其派生类对象跨线程使用方法存在的现象在MFC中用多线程方法开发WinSocket通讯程序时,如果你的的是API方式,自然没有以下说的问题。但如果当你使用CAsyncSocket及其派生类(CSocket或是你自己的写的)来开发的话,会发现在不同线程中使用CAsyncSocket及其派生类对象时,会出现程序崩溃。这里所说的跨线程,是指该对象在一个线程中调用C原创 2015-01-15 15:39:06 · 1457 阅读 · 0 评论 -
Csocket基本原理
我通过几个采用 CSocket 类编写并基于 Client/Server (客户端 / 服务端)的网络聊天和传输文件的程式 ,在调试这些程式的过程中,追踪深入至 CSocket 类核心源码 SockCore.cpp , 对于CSocket 类的运行机制可谓是一览无遗,并且对于阻塞和非阻塞方式下的 socket 程式的编写也是稍有体会。阅读本文请先注意 :• 这里的阻塞和非阻塞的原创 2015-01-15 10:14:11 · 919 阅读 · 0 评论 -
MFC疑难注解:CAsyncSocket及CSocket
MFC对SOCKET编程的支持其实是很充分的,然而其文档是语焉不详的。以至于大多数用VC编写的功能稍复杂的网络程序,还是使用API的。故CAsyncSocket及CSocket事实上成为疑难,群众多敬而远之。余好事者也,不忍资源浪费,特为之注解。一、CAsyncSocket与CSocket的区别前者是异步通信,后者是同步通信;前者是非阻塞模式,后者是阻塞模式。另外,异步非阻塞模式有转载 2015-01-15 10:33:23 · 910 阅读 · 0 评论 -
Windows Socket 非阻塞模式开发
非阻塞套接字 非阻塞模式是指:套接字在执行操作时,调用的函数不管操作是否完成都会立即返回的工作模式。 非阻塞套接字在处理同时建立的多个连接等方面具有明显的优势。但是使用过程中有一定的难度。由于函数在操作没有完成后也仍然会返回,为了实现某些功能必须循环调用,直到完成功能为止。因此非阻塞模式会使程序效率非常低。 把套接字设置为非阻塞模式,即告诉系统:在调用W转载 2015-03-11 11:12:51 · 945 阅读 · 0 评论