随笔分类 -  C#

yield关键字用法与解析(C# 参考)
摘要:yield 关键字向编译器指示它所在的方法是迭代器块。 编译器生成一个类来实现迭代器块中表示的行为。 在迭代器块中,yield 关键字与 return 关键字结合使用,向枚举器对象提供值。 这是一个返回值,例如,在 foreach 语句的每一次循环中返回的值。 yield 关键字也可与 break 阅读全文

posted @ 2017-06-15 13:24 jack_Meng 阅读(699) 评论(0) 推荐(0) 编辑

GZip压缩与解压缩
摘要:GZIP的压缩与解压缩代码: public static class CompressionHelper { /// <summary> /// Compress the byte[] /// </summary> /// <param name="input"></param> /// <retu 阅读全文

posted @ 2017-06-15 11:03 jack_Meng 阅读(1210) 评论(0) 推荐(0) 编辑

.Net Remoting编程 ---- 系列文章
摘要:.Net Remoting(应用程序域) - Part.1 .Net Remoting(应用程序域) - Part.1 摘要: 本文是.Net Remoting系列的第一篇文章,讲述了Remoting的“前驱知识点”--应用程序域、传值封送(Marshal by value)、传引用封送(Marsh 阅读全文

posted @ 2017-06-14 16:11 jack_Meng 阅读(309) 评论(0) 推荐(0) 编辑

C#编写简单的聊天程序
摘要:引言 这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。 程序的分析与设计 1.明确程序功能 如果大家 阅读全文

posted @ 2017-06-14 16:03 jack_Meng 阅读(9004) 评论(0) 推荐(0) 编辑

C#网络编程(接收文件) - Part.5
摘要:这篇文章将完成 Part.4 中剩余的部分,它们本来是一篇完整的文章,但是因为上一篇比较长,合并起来页数太多,浏览起来可能会比较不方便,我就将它拆为两篇了,本文便是它的后半部分。我们继续进行上一篇没有完成的步骤:客户端接收来自服务端的文件。 4.客户端接收文件 4.1服务端的实现 对于服务端,我们只 阅读全文

posted @ 2017-06-14 16:02 jack_Meng 阅读(1905) 评论(0) 推荐(0) 编辑

C#网络编程(订立协议和发送文件) - Part.4
摘要:文件传输 前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件。比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1、S2或S3(S为Send缩写)时,分别向服务端发送文件Client01.jpg、Client02.jpg、Client03.jpg;当 阅读全文

posted @ 2017-06-14 16:01 jack_Meng 阅读(550) 评论(0) 推荐(0) 编辑

C#网络编程(异步传输字符串) - Part.3
摘要:这篇文章我们将前进一大步,使用异步的方式来对服务端编程,以使它成为一个真正意义上的服务器:可以为多个客户端的多次请求服务。但是开始之前,我们需要解决上一节中遗留的一个问题。 消息发送时的问题 这个问题就是:客户端分两次向流中写入数据(比如字符串)时,我们主观上将这两次写入视为两次请求;然而服务端有可 阅读全文

posted @ 2017-06-14 16:00 jack_Meng 阅读(436) 评论(0) 推荐(0) 编辑

C#网络编程(同步传输字符串) - Part.2
摘要:服务端客户端通信 在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据。端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说,往流中写入数据,即为向服务器传送数据;从流中读取数据,即为从服务端 阅读全文

posted @ 2017-06-14 15:59 jack_Meng 阅读(770) 评论(0) 推荐(0) 编辑

C#网络编程(基本概念和操作) - Part.1
摘要:引言 C#网络编程系列文章计划简单地讲述网络编程方面的基础知识,由于本人在这方面功力有限,所以只能提供一些初步的入门知识,希望能对刚开始学习的朋友提供一些帮助。如果想要更加深入的内容,可以参考相关书籍。 本文是该系列第一篇,主要讲述了基于套接字(Socket)进行网络编程的基本概念,其中包括TCP协 阅读全文

posted @ 2017-06-14 15:58 jack_Meng 阅读(376) 评论(0) 推荐(1) 编辑

C#多线程和线程池
摘要:1、概念 1.0 线程的和进程的关系以及优缺点 windows系统是一个多线程的操作系统。一个程序至少有一个进程,一个进程至少有一个线程。进程是线程的容器,一个C#客户端程序开始于一个单独的线程,CLR(公共语言运行库)为该进程创建了一个线程,该线程称为主线程。例如当我们创建一个C#控制台程序,程序 阅读全文

posted @ 2017-06-11 10:48 jack_Meng 阅读(23574) 评论(2) 推荐(0) 编辑

皮肤和DLL和图片等项目文件完全整合到exe中
摘要:C#开发的程序原生界面实在是太丑了,自己又没有美化天赋,所以只能使用皮肤控件了,网上找到了IrisSkin2,包含一个.dll文件和若干ssk后缀的皮肤文件,代码其实很简单的。但是后来发现个问题,就是exe的运行必须有资源文件的支持,不然根本就打不开软件,但我开发的100多K的小软件实在没必要这样, 阅读全文

posted @ 2017-04-01 21:28 jack_Meng 阅读(3229) 评论(0) 推荐(0) 编辑

C#中使用Socket实现简单Web服务器
摘要:最近有个web的小项目,但公司的电脑无法安装IIS,所以就想自己来实现个Web server服务器,原本想了下,也就是socket处理http请求,于是就在博客园中搜索了“socket实现web server”,结果还真搜索到一些文章,于是从中找了几个做参考,如下: C#中使用Socket实现简单W 阅读全文

posted @ 2017-04-01 17:27 jack_Meng 阅读(11976) 评论(0) 推荐(0) 编辑

问世间情为何物,直教人生死相许 -- 用代码告诉你同生共死才是爱
摘要:问世间情为何物 直教人生死相许 Console.WriteLine((char)('生' & '死'));结果是: 解释一下为什么会这样呢 ‘生’: UnicodeUtf-8二进制 U+751F \xe7\x94\x9f 11100111 10010100 10011111 ‘死’: Unicode 阅读全文

posted @ 2017-03-31 11:28 jack_Meng 阅读(493) 评论(0) 推荐(0) 编辑

UDP包的大小与MTU
摘要:在进行UDP编程的时候,我们最容易想到的问题就是,一次发送多少bytes好?当然,这个没有唯一答案,相对于不同的系统,不同的要求,其得到的答案是不一样的,我这里仅对像ICQ一类的发送聊天消息的情况作分析,对于其他情况,你或许也能得到一点帮助:首先,我们知道,TCP/IP通常被认为是一个四层协议系统, 阅读全文

posted @ 2017-03-20 16:40 jack_Meng 阅读(7959) 评论(0) 推荐(0) 编辑

C#:使用UPnP来穿透NAT使内网接口对外网可见
摘要:在写完Object 672后,软件的一个致命问题暴露出来,如果服务器和客户端都在内网环境下,即双方都通过NAT来接触外网,那么此时客户端是无法直接和服务器交流的。 解决方案可以是: 1:把服务器部署在不存在NAT的公网环境下。 2:使用常见的NAT穿透方法比如UDP打洞,或者STUN协议,但是这些方 阅读全文

posted @ 2017-03-20 16:28 jack_Meng 阅读(9659) 评论(2) 推荐(1) 编辑

使用TCP协议的NAT穿透技术
摘要:其实很早我就已经实现了使用TCP协议穿透NAT了,但是苦于一直没有时间,所以没有写出来,现在终于放假有一点空闲,于是写出来共享之。 一直以来,说起NAT穿透,很多人都会被告知使用UDP打孔这个技术,基本上没有人会告诉你如何使用TCP协议去穿透(甚至有的人会直接告诉你TCP协议是无法实现穿透的)。但是 阅读全文

posted @ 2017-03-20 16:24 jack_Meng 阅读(6871) 评论(0) 推荐(1) 编辑

用TCP穿透NAT(TCP打洞)的实现
摘要:目录 TCP穿透原理 程序思路 声明 上代码 运行示例 目录 1. TCP穿透原理: 我们假设在两个不同的局域网后面分别有2台客户机A和 B,AB所在的局域网都分别通过一个路由器接入互联网。互联网上有一台服务器S。 现在AB是无法直接和对方发送信息的,AB都不知道对方在互联网上真正的IP和端口, A 阅读全文

posted @ 2017-03-20 16:09 jack_Meng 阅读(17240) 评论(1) 推荐(2) 编辑

内网穿透原理及实现一:C/S模式,P2P模式原理
摘要:1.前言 最近一阵子在研究内网穿透,查了不少资料,所以今天就聊聊两种不同的穿透方式的原理,以及基于java的netty框架的实现,代码也已在我的github。 起因:突然花这么大力气研究这个虽然是头脑发热所为,但动机源于跟小伙伴联机打游戏,原来用nat123之类的做远程端口转发在最近一阵子巨慢无比, 阅读全文

posted @ 2017-03-20 15:53 jack_Meng 阅读(1803) 评论(0) 推荐(1) 编辑

UDP打洞原理及代码
摘要:来源:http://www.fenbi360.net/Content.aspx?id=1021&t=jc UDP"打洞"原理 1. NAT分类 根据Stun协议(RFC3489),NAT大致分为下面四类 1) Full Cone 这种NAT内部的机器A连接过外网机器C后,NAT会打开一个端口.然后外 阅读全文

posted @ 2017-03-20 15:38 jack_Meng 阅读(8319) 评论(0) 推荐(0) 编辑

利用P2P点对点技术实现UDP内网穿透
摘要:介绍之前首先推荐一个程序员专用搜索引擎-http://www.openso.net 点对点技术在近几年应用很广,主要代表有QQ、skype、bt、迅雷、ppstream、pplive、qvod。我们可以看到,只要是数据量很大,而一般利用中转服务器又需要一定规模投入的应用,我们都可以考虑用P2P技术。 阅读全文

posted @ 2017-03-20 15:36 jack_Meng 阅读(2325) 评论(0) 推荐(0) 编辑

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示

喜欢请打赏

扫描二维码打赏

支付宝打赏

主题色彩