文章分类 - Tcp/Udp
摘要:单播、多播和广播单播”(Unicast)、“多播”(Multicast)和“广播”(Broadcast)这三个术语都是用来描述网络节点之间通讯方式的术语。那么这些术语究竟是什么意思?区别何在?1.单播:网络节点之间的通信就好像是人们之间的对话一样。如果一个人对另外一个人说话,那么用网络技术的术语来描...
阅读全文
摘要:很多学员都在问,单播、组播、广播的定义以及区别,费功夫给大家讲一下,希望对大家的学习有帮助。 一、什么是组播1、组播的特点1)什么是组播?组播是一种数据包传输方式,当有多台主机同时成为一个数据包的接受者时,出于对带宽和CPU负担的考虑,组播成为了一种最佳选择。2)组播如何进行工作? 组播通过把224...
阅读全文
摘要:这两天看csdn有一些关于socket粘包,socket缓冲区设置的问题,发现自己不是很清楚,所以查资料了解记录一下:一两个简单概念长连接与短连接:1.长连接 Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。2.短连接 Client方与Server每进行一...
阅读全文
摘要:在之前的文章讲术了如何设计一个简单的网络缓冲区和缓冲池,在.net网络应用中有一个普遍的问题就是如何把对象写入缓冲和从缓冲中读取数据还原对 象.在这里会实现一个Writer和Reader方便地把信息写入缓冲区和从缓冲区读取;先看下Writer和Reader功能.BufferWriterpublic ...
阅读全文
摘要:在编写网络应用的时候数据缓冲区是应该比较常用的方式,主要用构建一个内存区用于存储发送的数据和接收的数据;为了更好的利用已有数据缓冲区所以构造一个缓冲池来存放相关数据方便不同连接更好地利用缓冲区,节省不停的构造新的缓冲区所带的损耗问题。缓冲区其实构造一个缓冲区非常简单,根据需分本相关大小的byte数组...
阅读全文
摘要:有些情况下需要一个调度器专门来处理一些工作,如在网络处理程序中,当接收的数据后把信息存放到队列中,尽可能的更快地处理下一接收操作.而接收的数据信 息则由调试器来处理,如数据分析,数据包处理等等工作.既然调度器负责处理工作,那最好给需要处理的工作制定一个规则,方便以后灵活扩展处理.制定规则接口1234...
阅读全文
摘要:在平常的交流中经常有人问.net socket能支持多少在线?和C++或linux下比起来应该差很远吧?其实产生这样问题的主要原因是.net很少人去做这方面的测试,而在linux 下则经常听到什么100w或500w在线连接的测试.这样一个数字看起来多么地让人兴奋...其实在这几年编写通讯服务的过程...
阅读全文
摘要:u32位端口号:源端口和目的端口各占16位,2的16次方等于65536,看端口的命令:netstat。u32位序号:也称为顺序号(Sequence Number),简写为SEQ,u32位确认序号:也称为应答号(Acknowledgment Number),简写为ACK。在握手阶段,确认序号将发送方的...
阅读全文
摘要:TCP协议间交换的数据单元称为“TCP段”,包括两部分:首部和数据。标准首部长20字节,带有选项的首部会更长。1. 源端口和目的端口各占2字节,端口号加上IP地址,共同构成socket。互相通信的进程使用一对socket,包括协议、源IP、源端口、目的IP、目的端口,这五个元素唯一确定一个TCP连接...
阅读全文
摘要:使用C#socket的模型 socketAyncEventArgs时遇到了不小的问题,"现在已经正在使用此 SocketAsyncEventArgs 实例进行异步套接字操作"想必很多同学都遇到此类问题了。即所谓的SocketAsyncEventArgs异步通信方式不能同时执行ReceiveAsync...
阅读全文
摘要:http://blog.csdn.net/awinye/article/details/537264英文版:http://www.codeguru.com/csharp/csharp/cs_network/sockets/asynchronoussocketserverobjectthreadapp...
阅读全文
摘要:IOCP Thread Pooling in C#By William KennedyContinuum Technology CenterIntroductionWhen building server based applications in C#, it is important to ha...
阅读全文
摘要:using System;using System.Threading; // Included for the Thread.Sleep callusing Continuum.Threading;namespace Sample{ //==========================...
阅读全文
摘要:一封给“X教授”的回信(讨论Socket通信)前几天“X教授”发Email与我讨论Socket通信方面的问题,主要涉及4个方面内容,现将回信公布出来,希望园友们能积极参与讨论,提出更好的解决方案。 下面是“X教授”的来信:======================================...
阅读全文
摘要:ocket服务器主要用于提供高效、稳定的数据处理、消息转发等服务,它直接决定了前台应用程序的性能。我们先从整体上认识一下Socket服务器,Socket服务器从架构上一般分为:网络层、业务逻辑层、会话层、数据访问层,如图:(一)网络层网络层主要用于侦听socket连接、创建socket、接受消息、发...
阅读全文
摘要:SocketAsyncEventArgs 单机测试成功突破 6W,59999 还是 100%连接上去的 所以估计最高性能可能达到10W以上请看图吧 由于页宽不够 不能够全显示不过你可以另存为图片查看实现原理: 采用 SocketAsyncEventArgs 池 和内存池实现. 代码:/// ...
阅读全文
摘要:要实现 IPX/SPX 必须自己写IPX地址类它派生于 EndPoint. 因为.NET没有提供此类所以必须自己写 public class IPXEndPoint : EndPoint { byte[] NetNum; byte[] NodeNum; ...
阅读全文
摘要:如果在.NET下写过网络通讯的同学应该感觉不陌生了,有很多刚入门的同学很多都认为这东西可以大大提高处理效能还有就是使用上很不适应.其实使用之前最 好通过MSDN了解一下,该对象紧紧是Begin End模式的一个增强版本,它的主要作用主要是解决之前异步过程时创建不可复用的异步对象而产生的.主要是在高...
阅读全文
摘要:五一在家看了一会儿, 想拿以前写的代码尝试着改进改进, 想起去年暑假写的局域网聊天小工具, 现在看自己那时写的代码已经不堪入目, 最不可思议的当属用了"多线程"处理网络请求, 现在觉得应该使用异步方法.主要设计简要说明 上图左边部分表示的是客户端的过程, 右边部分表示的是服务端的过程. 客户端相比服...
阅读全文
摘要:using System;using System.Text;using System.Net;using System.Net.Sockets;using System.Threading;namespace SocketAsyncSvr{ public class AsyncSocketS...
阅读全文