自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 C# ZPL命令 实现打印中文

最近用C#结合ZPL指令实现了打印中文的功能,在这里对其中的代码以及一些资源,分享一下.一.直接使用ZPL打印对于直接使用ZPL命令打印中文,首先需要明确几个概念:1.码表文件: 字符编码文件,打印中文需要制定的码表,常用中文码表为 GB.DAT,GB8BIT.DAT,GB2312.DAT,GB18030.DAT, 其中 GB.DAT,GB8BIT.DAT为较早的机型使用编码表文件,码...

2018-08-09 21:37:27 19745 7

转载 NAT的完全分析及其UDP穿透的完全解决方案

<br />一:基本术语<br />防火墙<br />防火墙限制了私网与公网的通信,它主要是将(防火墙)认为未经授权的的包丢弃,防火<br />墙只是检验包的数据,并不修改数据包中的IP地址和TCP/UDP端口信息。<br />网络地址转换(NAT)<br />当有数据包通过时,网络地址转换器不仅检查包的信息,还要将包头中的IP地址和端口信<br />息进行修改。以使得处于NAT之后的机器共享几个仅有的公网IP地址(通常是一个)。网络<br />地址转换器主要有两种类型.<br />P2P应用程序<br /

2010-10-15 10:50:00 1160

转载 基于Hole Punching的UDP穿越Symmetric NAT的方法(下)

我们把以上猜法和算法称为准随机猜测。简化的客户端算法流程如图2所示。图2 客户端算法流程        2.1.4  k值的确定与目标端口号的表达式k是从B向S注册起到向A发送第一个猜询报文期间,B方内网主机包括B在NAT同一全局地址上端口映射的次数。K值靠估计确定。考虑的因素之一是A方和B方内网当前注册的客户端总数,其值越大则k值越大;因素之二是B方内网可能注册的客户端总数,其值越大则k值越大;因素之三是B方NAT中的全局IP地址总数,其值越大则k值越小。因素之一的当前注册的客户端总数n,在Client

2010-10-15 09:43:00 2054 1

转载 基于Hole Punching的UDP穿越Symmetric NAT的方法(中2)

2.1.3猜测方法与算法思路NAT映射的端口范围为(1024,65535),设PS为目标主机向服务器S注册时的全局端口号,把区间(1024,PS)和(PS,65535)以PS为界分成数百段(本算法分为400段)。1. 对【判定2】端口的猜测对端口映射方式是【判定2】的情形,由于第二种方式的可能性大于第三种,故目标端口号P很可能落在PS附近的段内。算法先猜PS左右邻的两段,随机猜遍这两段内的数字,若没有猜中再猜次靠近PS的两段,同样随机猜遍段内所有数字。猜遍附近的若干段(本算法共猜12段)若仍猜不中,说明端口

2010-10-15 09:38:00 1489

转载 基于Hole Punching的UDP穿越Symmetric NAT的方法(中1)

1.3.2 开通两客户端直接访问之洞 现在主机A欲与B直接进行UDP通信,A发送请求信息给Server S请求帮助连接B, S把B的全局和私有插口发送给A,也把A的全局和私有插口发送给B。A和B知道对方的插口后,就会尝试直接发送UDP报文给对方,既向全局插口发送,也向私有插口发送。私有地址不能被路由,故发送不会成功。下面讨论发向全局插口的UDP报文。A发送的第一个UDP报文以B的全局插口[202.1.1.1:3600]为目标插口,建立了一个新的UDP会话Session A-B,在A的内网由插口对[192.1

2010-10-15 09:36:00 1707

转载 基于Hole Punching的UDP穿越Symmetric NAT的方法(上)

1.1 现有的穿越NAT实现P2P通信的主要方法现有的穿越NAT实现P2P通信的主要方法有MidCom方法,STUN方法,TURN方法和Hole Punching方法。MidCom (Middlebox communication architecture and framework)[2]方法是通过在第三方实体和NAT之间建立中间盒来通信,使NAT设备变为可控的一种方法。其支持UDP和TCP的穿越,但要求NAT设备具备 Middleboxs功能,否则需要升级或替换。MidCom是IETF提出的通信协议。S

2010-10-15 09:33:00 3596

转载 使用UDP网络通讯

[Quote=引用 64 楼 wxg22526451 的回复:]C#UDP的多路广播组的发送和接收下列范例使用 UdpClient,在通讯端口11000传送UDP 资料包至多点传送位址群组 224.268.100.2。它传送命令列上指定的信息字串。 C# codeusing System;using System.Net;using System.Net.Sockets;using Syste

2009-12-11 09:41:00 994

转载 基于Socket的网络连接

实只要用到Socket联接,基本上就得使用Thread,是交叉使用的。 C#封装的Socket用法基本上不算很复杂,只是不知道托管之后的Socket有没有其他性能或者安全上的问题。 在C#里面能找到的最底层的操作也就是socket了,概念不做解释。 程序模型如下: WinForm程序 : 启动端口侦听;监视Socket联接情况;定期关闭不活动的联接; Listener:处理Socket的Accep

2009-12-11 09:36:00 1778

原创 网络传输——XML文档的序列化

服务器端:using System.Net;using System.Net.Sockets;using System.Threading;using System.Xml;using System.Xml.Serialization;namespace 输出{    class Program    {        static void Main(string[] args)    

2009-10-26 15:45:00 1432 1

转载 字段、属性

c#的字段就是指私有域(变量)class A{int i;public int I{get{....}set{....}}  }其中,i是字段,I是属性, 字段是属于一个类的,在类中定义(注意:是类中,而不是类中的某个方法或属性中)在本类中可以用this.字段名访问且本类中的所有属性、方法等都可以访问也就是说它的作用域是整个类。而局部变量是属于一个函数或语句块的它的作用域是从定义开始,到离开语句块

2009-09-28 10:13:00 2481

转载 public,private,protected 区别

公有成员public member 在程序的任何地方都可以被访问实行信息隐藏的类将其public 成员限制在成员函数上这种函数定义了可以被一般程序用来操纵该类类型对象的操作 私有成员private member 只能被成员函数和类的友元访问实行信息隐藏的类把其数据成员声明为private 被保护成员protected member 对派生类derived class 就像 public 成

2009-09-14 17:42:00 2651

转载 网络传输之同步异步SOCKET通讯和多线程

同步套接字通信Socket支持下的网上点对点的通信服务端实现监听连接,客户端实现发送连接请求,建立连接后进行发送和接收数据的功能服务器端建立一个socket,设置好本机的ip和监听的端口与socket进行绑定,开始监听连接请求,当接收到连接请求后,发送确认,同客户端建立连接,开始与客户端进行通信。客户端建立一个socket,设置好服务器端的IP和提供服务的端口,发出连接请求,接

2009-09-11 10:10:00 2795 1

转载 网络编程之同步,阻塞,异步,非阻塞

同步:函数没有执行完不返回,线程被挂起 阻塞:没有收完数据函数不返回,线程也被挂起异步:函数立即返回,通过事件或是信号通知调用者非阻塞:函数立即返回,通过select通知调用者这样看来异步和非阻塞有什么区别呢?异步=非阻塞?同步是在操作系统层面上,阻塞是在套接字上?Reactor是同步 Proactor是异步?回答:同步、异步、阻塞和非阻塞的概念  在进行网

2009-09-09 09:45:00 381

转载 动态变量与静态变量的区别

1  静态局部变量在静态存储区内分配存储单元。在程序整个运行期间都不释放。而自动变量(即动态局部变量)属于动态存储类别,存储在动态存储区空间(而不是静态存储区空间),函数调用结束后即释放。 2 为静态局部变量赋初值是在编译时进行值的,即只赋初值一次,在程序运行时它已有初值。以后每次调用函数时不再重新赋初值而只是保留上次函数调用结束时的值。而为自动变量赋初值,不是在编译时进行的,而是在函数调用时进行

2009-09-08 09:15:00 2895

原创 网络传输之序列化

由于最近学习到序列化和反序列化的知识,便将以前写的网络传输代码加以修改,以下是传输一个数组的序列化服务器端:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.IO;using System.Net;using System.Net.Sockets;us

2009-09-02 11:27:00 765

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除