摘要: C#网络编程服务器端程序实现源码是怎么样的呢?让我们来看看其中重要的一部分:     由于在此次程序中我们采用的结构是异步阻塞方式,所以在实际的程序中,为了不影响服务器端程序的运行速度,我们在程序中设计了一个线程,使得对网络请求侦听,接受和发送数据都在线程中处理,请在下面的代码中注意这一点,下面是C#网络编程服务器端程序的完整代码:   ... 阅读全文
posted @ 2010-07-24 13:33 大漠银狐 阅读(986) 评论(0) 推荐(0) 编辑
摘要: 这篇文章将完成Part.4中剩余的部分,它们本来是一篇完整的文章,但是因为上一篇比较长,合并起来页数太多,浏览起来可能会比较不方便,我就将它拆为两篇了,本文便是它的后半部分。我们继续进行上一篇没有完成的步骤:客户端接收来自服务端的文件。 4.客户端接收文件 4.1服务端的实现 对于服务端,我们只需要实现上一章遗留的sendFile()方法就可以了,它起初在handleProtocol中是注释... 阅读全文
posted @ 2010-07-24 13:31 大漠银狐 阅读(330) 评论(0) 推荐(0) 编辑
摘要: 前面两篇文章所使用的范例都是传输字符串,有的时候我们可能会想在服务端和客户端之间传递文件。比如,考虑这样一种情况,假如客户端显示了一个菜单,当我们输入S1、S2或S3(S为Send缩写)时,分别向服务端发送文件Client01.jpg、Client02.jpg、Client03.jpg;当我们输入R1、R2或R3时(R为Receive缩写),则分别从服务端接收文件Server01.jpg、Serv... 阅读全文
posted @ 2010-07-24 13:29 大漠银狐 阅读(274) 评论(0) 推荐(0) 编辑
摘要: 在上一篇中,我们由简到繁,提到了服务端的四种方式:服务一个客户端的一个请求、服务一个客户端的多个请求、服务多个客户端的一个请求、服务多个客户端的多个请求。我们说到可以将里层的while循环交给一个新建的线程去让它来完成。除了这种方式以外,我们还可以使用一种更好的方式――使用线程池中的线程来完成。我们可以使用BeginRead()、BeginWrite()等异步方法,同时让这BeginRead()方... 阅读全文
posted @ 2010-07-24 13:28 大漠银狐 阅读(682) 评论(1) 推荐(0) 编辑
摘要: using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; using System.Collections; using System; using System.Collections.Generic; namespace SocketLibrary {   &... 阅读全文
posted @ 2010-07-24 13:25 大漠银狐 阅读(2486) 评论(0) 推荐(0) 编辑
摘要: 服务端客户端通信 在与服务端的连接建立以后,我们就可以通过此连接来发送和接收数据。端口与端口之间以流(Stream)的形式传输数据,因为几乎任何对象都可以保存到流中,所以实际上可以在客户端与服务端之间传输任何类型的数据。对客户端来说,往流中写入数据,即为向服务器传送数据;从流中读取数据,即为从服务端接收数据。对服务端来说,往流中写入数据,即为向客户端发送数据;从流中读取数据,即为从客户端接收数据... 阅读全文
posted @ 2010-07-24 13:21 大漠银狐 阅读(290) 评论(0) 推荐(0) 编辑
摘要: 引言 C#网络编程系列文章计划简单地讲述网络编程方面的基础知识,由于本人在这方面功力有限,所以只能提供一些初步的入门知识,希望能对刚开始学习的朋友提供一些帮助。如果想要更加深入的内容,可以参考相关书籍。 本文是该系列第一篇,主要讲述了基于套接字(Socket)进行网络编程的基本概念,其中包括TCP协议、套接字、聊天程序的三种开发模式,以及两个基本操作:侦听端口、连接远程服务端;第二篇讲述了一个... 阅读全文
posted @ 2010-07-24 13:19 大漠银狐 阅读(280) 评论(0) 推荐(0) 编辑