`
rl203rl
  • 浏览: 20767 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

最基本的Socket编程C#

 
阅读更多

最基本的Socket编程C#
2010年04月09日
  示例程序是同步套接字程序,功能很简单,只是客户端发给服务器一条信息,服务器向客户端返回一条信息;这里只是一个简单的示例,是一个最基本的socket编程流程,在接下来的文章中,会依次记录套接字的同步和异步,以及它们的区别。
  下面是示例程序的简单步骤说明
  服务器端:
  第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;
  第二步:建立一个Socket对像;
  第三步:用socket对像的Bind()方法绑定EndPoint;
  第四步:用socket对像的Listen()方法开始监听;
  第五步:接受到客户端的连接,用socket对像的Accept()方法创建新的socket对像用于和请求的客户端进行通信;
  第六步:通信结束后一定记得关闭socket;
  代码:
  using System;
  using System.Collections.Generic;
  using System.Text;
  using System.Net;
  using System.Net.Sockets;
  namespace server
  {
  class Program
  {
  static void Main(string[] args)
  {
  int port = 2000;
  string host = "127.0.0.1";
  /**////创建终结点(EndPoint)
  IPAddress ip  = IPAddress.Parse(host);//把ip地址字符串转换为IPAddress类型的实例
  IPEndPoint ipe = new IPEndPoint(ip, port);//用指定的端口和ip初始化IPEndPoint类的新实例
  /**////创建socket并开始监听
  Socket s = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建一个socket对像,如果用udp协议,则要用SocketType.Dgram类型的套接字
  s.Bind(ipe);//绑定EndPoint对像(2000端口和ip地址)
  s.Listen(0);//开始监听
  Console.WriteLine("等待客户端连接");
  /**////接受到client连接,为此连接建立新的socket,并接受信息
  Socket temp = s.Accept();//为新建连接创建新的socket
  Console.WriteLine("建立连接");
  string recvStr = "";
  byte[] recvBytes = new byte[1024];
  int bytes;
  bytes = temp.Receive(recvBytes, recvBytes.Length, 0);//从客户端接受信息
  recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
  /**////给client端返回信息
  Console.WriteLine("server get message:{0}", recvStr);//把客户端传来的信息显示出来
  string sendStr = "ok!Client send message successful!";
  byte[] bs = Encoding.ASCII.GetBytes(sendStr);
  temp.Send(bs, bs.Length, 0);//返回信息给客户端
  temp.Close();
  s.Close();
  Console.ReadLine();
  }
  }
  }
  server结果:
  客户端:
  第一步:用指定的端口号和服务器的ip建立一个EndPoint对像;
  第二步:建立一个Socket对像;
  第三步:用socket对像的Connect()方法以上面建立的EndPoint对像做为参数,向服务器发出连接请求;
  第四步:如果连接成功,就用socket对像的Send()方法向服务器发送信息;
  第五步:用socket对像的Receive()方法接受服务器发来的信息 ;
  第六步:通信结束后一定记得关闭socket;
  代码:
  using System;
  using System.Collections.Generic;
  using System.Text;
  using System.Net;
  using System.Net.Sockets;
  namespace Client
  {
  class Program
  {
  static void Main(string[] args)
  {
  try
  {
  int port = 2000;
  string host = "127.0.0.1";
  /**////创建终结点EndPoint
  IPAddress ip = IPAddress.Parse(host);
  //IPAddress ipp = new IPAddress("127.0.0.1");
  IPEndPoint ipe = new IPEndPoint(ip, port);//把ip和端口转化为IPEndpoint实例
  /**////创建socket并连接到服务器
  Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);//创建Socket
  Console.WriteLine("Conneting…");
  c.Connect(ipe);//连接到服务器
  /**////向服务器发送信息
  string sendStr = "hello!This is a socket test";
  byte[] bs = Encoding.ASCII.GetBytes(sendStr);//把字符串编码为字节
  Console.WriteLine("Send Message");
  c.Send(bs, bs.Length, 0);//发送信息
  /**////接受从服务器返回的信息
  string recvStr = "";
  byte[] recvBytes = new byte[1024];
  int bytes;
  bytes = c.Receive(recvBytes, recvBytes.Length, 0);//从服务器端接受返回信息
  recvStr += Encoding.ASCII.GetString(recvBytes, 0, bytes);
  Console.WriteLine("client get message:{0}", recvStr);//显示服务器返回信息
  /**////一定记着用完socket后要关闭
  c.Close();
  }
  catch (ArgumentNullException e)
  {
  Console.WriteLine("argumentNullException: {0}", e);
  }
  catch (SocketException e)
  {
  Console.WriteLine("SocketException:{0}", e);
  }
  Console.WriteLine("Press Enter to Exit");
  }
  }
  }
  Client端结果:
  本文来自CSDN博客,转载出处:http://blog.csdn.net/liushengpiaoxu/archive/2008/05/20/2462759.aspx
分享到:
评论

相关推荐

    C# 最基本的Socket编程C# Socke详解

    C# 最基本的Socket编程C# Socke详解

    C#raw Socket编程

    C#raw Socket编程 C#raw Socket编程是指使用C#语言实现原始套接字(Raw Socket)的编程技术。原始套接字是一种网络编程接口,允许开发者在应用层实现网络封包监视和控制。 Windows Sockets 是一种网络编程接口,...

    最基本的C# Socket编程小例子

    这个“最基本的C# Socket编程小例子”可能会包含一个简单的客户端和服务器端程序,分别实现上述步骤。通过运行这两个程序,初学者可以在本地环境中体验Socket通信的过程。 通过深入学习和实践,开发者可以进一步...

    Socket编程C# asp.net

    在 C# 中,我们可以使用 .NET Framework 的 System.Net.Sockets 命名空间中的 Socket 类来实现 Socket 编程。本篇将深入探讨如何使用 C# 进行 Socket 编程,特别是 ASP.NET 应用场景下的应用。 首先,我们来看一下...

    C# SOCKET编程实例

    本篇将深入探讨C# Socket编程实例,特别是通过“飞鸽传书”这个案例,我们将会学习如何使用C#构建一个简单的文件传输应用。 首先,让我们了解Socket的基本概念。Socket是操作系统提供的接口,用于在两台计算机之间...

    c#socket编程经典实例源码

    C# Socket编程是网络通信领域中的重要组成部分,它允许开发者创建服务器和客户端应用程序,实现数据的传输。在本文中,我们将深入探讨C# Socket编程的经典实例及其源码,旨在帮助你理解和掌握网络通信的核心概念。 ...

    最基本的Socket编程_C#版.doc

    本文将详细介绍C#版的基本Socket编程步骤,通过服务器端和客户端的典型代码进行演示。 首先,我们来看服务器端的实现: 1. 定义服务器的IP地址和端口号。在这里,我们使用"127.0.0.1"作为本地IP,端口号为2000。 ...

    基于C#的socket通信编程

    在IT行业中,网络通信是软件开发的一个重要领域,而Socket编程是实现网络通信的基础。本文将深入探讨基于C#的Socket通信编程,包括其基本原理、实现方式以及如何进行文件传输。 C#是一种广泛使用的面向对象的编程...

    C#Socket编程实例.zip_C# 编程实例_C#Socket编程实例

    C# Socket编程是.NET框架中用于网络通信的重要组成部分,它提供了低级别的网络接口,使得开发者可以直接操作TCP/IP协议栈。本实例将通过一个详细的C# Socket编程实例来深入理解其核心概念和应用。 首先,Socket在C#...

    C# Socket编程

    理解C# Socket编程的基本原理和API使用,对于开发实时通信应用、网络服务、多用户游戏服务器等具有重要意义。掌握异步I/O操作可以显著提升网络应用程序的性能和用户体验。 总之,C# Socket编程是网络通信领域的关键...

    C#socket编程从入门到精通

    在探讨C# socket编程的过程中,我们首先需要了解的是如何操作IP地址,这是进行网络通信的基础。C#中的IPAddress类提供了方便的方法来处理IP地址,比如Parse方法可以将字符串形式的IP地址转换为IPAddress对象。此外,...

    Socket编程实例

    总之,这个C#的Socket编程实例展示了如何构建一个简单的聊天应用程序,涉及了Socket的基本操作,包括连接、监听、发送和接收数据。通过理解和实践这个示例,开发者可以深入理解网络编程的基础,并为开发更复杂的网络...

    C#socket C#socket

    通过以上介绍,我们了解了C# Socket编程的基本原理和TCP连接的生命周期。在实际开发中,根据"TheacherSever"和"StudentApp"的角色,可以构建出一个简单的教学互动系统,实现客户端和服务器间的双向通信。

    SuperSocket Socket C# 通讯详细介绍

    在C#编程领域,网络通信是一个不可或缺的部分,而SuperSocket则是一个强大且易用的.NET Socket服务器框架。它为开发者提供了构建自定义网络应用服务的基础,使得处理TCP连接变得简单高效。本文将深入探讨SuperSocket...

    C#Socket高并发_socket_socket并发_c#socket_C#_socket高并发_源码.zip

    C# Socket编程: C#是微软开发的一种面向对象的编程语言,它内置了丰富的库来支持网络通信,其中包括Socket类。Socket是网络编程的基础,它提供了进程间通信(IPC)的能力,使得一台计算机上的程序能够与其他计算机...

    socket编程C#实现

    socket编程 采用c#代码实现,非常适合初学者入门开发

    c# socket编程实例

    ### C# Socket编程实例详解 #### 一、引言 Socket 编程是网络通信的基础技术之一,在 C# 中可以通过 System.Net.Sockets 命名空间提供的类来实现。本篇文章将通过一个具体的 C# Socket 编程实例来详细介绍 Socket ...

    局域网文件传输 Socket编程 C#代码

    本文将深入探讨如何利用Socket编程在C#中实现局域网内的文件传输。 Socket,通常被称为套接字,是网络通信中的基本组件。它提供了一种在不同进程间进行数据交换的接口,无论这些进程是否在同一台计算机上。在C#中,...

    C# Socket编程完成控制台服务器端和web客户端(调试通过)

    C# Socket 编程完成控制台服务器端和 web 客户端(调试通过) C# Socket 编程是指使用 C# 语言实现的 Socket 编程技术,用于创建网络通信的服务器端和客户端程序。在本例中,我们将创建一个控制台服务器端和一个 ...

    c# socket编程类库实例

    本文将详细探讨C#中Socket编程的相关知识点,并基于提供的"TCP"文件名,推测这是一个关于C# TCP Socket编程的实例。 首先,我们需要了解TCP(传输控制协议)的基本原理。TCP是一种面向连接的、可靠的、基于字节流的...

Global site tag (gtag.js) - Google Analytics