C#网络编程服务器端程序设计浅析

开发
C#网络编程服务器端程序设计向你介绍了在采用的是异步阻塞的方式下如何实现的C#网络编程服务器端程序设计,希望对你学习C#网络编程服务器端程序设计有所帮助。

C#网络编程服务器端程序设计浅析

在下面接受的程序中,我们采用的是异步阻塞的方式。

C#网络编程服务器端程序设计(1).首先要要在给定的端口上面创建一个"tcpListener"对象侦听网络上面的请求。当接收到连结请求后通过调用"tcpListener"对象的"AcceptSocket"方法产生一个用于处理接入连接请求的Socket的实例。下面是具体实现代码:

  1. //创建一个tcpListener对象,此对象主要是对给定端口进行侦听  
  2. tcpListener = new TcpListener ( 1234 ) ;  
  3. //开始侦听  
  4. tcpListener.Start ( ) ;  
  5. //返回可以用以处理连接的Socket实例  
  6. socketForClient = tcpListener.AcceptSocket ( ) ; 

C#网络编程服务器端程序设计(2).接受和发送客户端数据:

此时Socket实例已经产生,如果网络上有请求,在请求通过以后,Socket实例构造一个"NetworkStream"对象,"NetworkStream"对象为网络访问提供了基础数据流。我们通过名称空间"System.IO"中封装的二个类"StreamReader"和"StreamWriter"来实现对"NetworkStream"对象的访问。其中"StreamReader"类中的ReadLine ( )方法就是从"NetworkStream"对象中读取一行字符;"StreamWriter"类中的WriteLine ( )方法就是对"NetworkStream"对象中写入一行字符串。从而实现在网络上面传输字符串,下面是具体的实现代码:

  1. try 
  2. {  
  3. //如果返回值是"true",则产生的套节字已经接受来自远方的连接请求  
  4. if ( socketForClient.Connected )  
  5. {  
  6. ListBox1.Items.Add ( "已经和客户端成功连接!" ) ;  
  7. while ( true )  
  8. {  
  9. //创建networkStream对象通过网络套节字来接受和发送数据  
  10. networkStream = new NetworkStream ( socketForClient ) ;  
  11. //从当前数据流中读取一行字符,返回值是字符串  
  12. streamReader = new StreamReader ( networkStream ) ;  
  13. string msg = streamReader.ReadLine ( ) ;  
  14. ListBox1.Items.Add ( "收到客户端信息:" + msg ) ;  
  15. streamWriter = new StreamWriter ( networkStream ) ;  
  16. if ( textBox1.Text != "" )  
  17. {  
  18. ListBox1.Items.Add ( "往客户端反馈信息:" + textBox1.Text ) ;  
  19. //往当前的数据流中写入一行字符串  
  20. streamWriter.WriteLine ( textBox1.Text ) ;  
  21. //刷新当前数据流中的数据  
  22. streamWriter.Flush ( ) ;  
  23. }  
  24. }  
  25. }  
  26. }  
  27. catch ( Exception ey )  
  28. {  
  29. MessageBox.Show ( ey.ToString ( ) ) ;  

C#网络编程服务器端程序设计(3).***别忘了要关闭所以流,停止侦听网络,关闭套节字,具体如下:

  1. //关闭线程和流  
  2. networkStream.Close ( ) ;  
  3. streamReader.Close ( ) ;  
  4. streamWriter.Close ( ) ;  
  5. _thread1.Abort ( ) ;  
  6. tcpListener.Stop ( ) ;  
  7. socketForClient.Shutdown ( SocketShutdown.Both ) ;  
  8. socketForClient.Close ( ) ; 

C#网络编程服务器端程序设计的基本内容就向你介绍到这里,希望对你了解和学习C#网络编程服务器端程序设计有所帮助。

【编辑推荐】

  1. C#网络编程基本概念TCP浅析
  2. C#网络聊天程序三大模式浅析
  3. C#服务端端口侦听浅析
  4. C#服务端与客户端连接实现浅析
  5. C#网络编程入门基础知识浅析
责任编辑:仲衡 来源: bianceng.cn
相关推荐

2009-08-21 17:39:20

服务器端程序C#网络编程

2009-08-21 17:48:43

C#网络编程

2009-08-21 14:34:34

C#服务器端表达式

2009-08-21 17:53:25

C#网络编程客户端程序

2009-09-02 17:28:26

C#程序设计Windows窗体

2020-06-02 14:57:06

Linux服务器架构

2010-10-15 08:57:15

PHP多进程

2015-10-27 09:40:31

TCPIP网络协议

2012-05-07 13:55:41

JavaJava Web

2009-09-02 17:53:42

C#程序设计Windows窗体

2010-08-30 13:58:43

服务器端数据库

2011-07-26 11:07:08

JavaScript

2014-01-15 10:06:30

vFlash

2012-10-15 13:40:15

IBMdw

2009-08-21 15:22:56

端口侦听

2009-08-14 11:00:16

C#创建Windows

2017-11-15 09:49:03

运维服务器端系统

2009-08-21 14:03:04

C#网络编程

2009-09-02 13:22:23

C#组件化程序设计

2013-12-25 11:01:16

JavaScript
点赞
收藏

51CTO技术栈公众号