设为首页
加入收藏
站内地图
旧版入口
当前位置:首页 > 站长学院 > 网络编程 > ASP.NET

一个简单的C/S结构的程序Demo

作者:佚名 出处:网络转载 时间:07-06 点击:

内容载入中...
您的支持我们的动力 上学堂

Server端:


using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
namespace Server
{
 class Class1
 {
  [STAThread]
  static void Main(string[] args)
  {
   byte[] data=new byte[1024];
   IPEndPoint ipep=new IPEndPoint(IPAddress.Any,5000);
   Socket listener=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
   try
   {
    listener.Bind(ipep);
    listener.Listen(10);
    while(true)
    {
     Console.WriteLine("Waiting for client.........");
     Socket handler=listener.Accept();
     IPEndPoint clientInfo=(IPEndPoint)handler.RemoteEndPoint;
     Console.WriteLine("Client:{0}-{1}",clientInfo.Address,clientInfo.Port);

     string welcome="Welcome to my Test Server.";
     data=Encoding.Default.GetBytes(welcome);
     handler.Send(data,data.Length,SocketFlags.None);
     while(true)
     {
      data=new byte[1024];
      int byteCount=handler.Receive(data);
      if(byteCount==0)
       break;
      Console.WriteLine("Client:{0}",Encoding.Default.GetString(data,0,byteCount));
      handler.Send(data,byteCount,SocketFlags.None);
     }
     Console.WriteLine("Disconnection from {0}",clientInfo.Address);
     handler.Close();
     break;
    }
    listener.Close();
   }
   catch(Exception e)
   {
    Console.WriteLine(e.Message);
   }
  }
 }
}


Client端:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;

namespace Client
{
 class Class1
 {
  [STAThread]
  static void Main(string[] args)
  {
   byte[] data=new byte[1024];
   string input=null;
   IPEndPoint ipep=new IPEndPoint(IPAddress.Parse("127.0.0.1"),5000);
   Socket server=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
   try
   {
    server.Connect(ipep);
    Console.WriteLine(server.RemoteEndPoint.ToString());
   }
   catch(Exception e)
   {
    Console.WriteLine(e.Message);
   }
   int recv=server.Receive(data);
   string welcome=Encoding.Default.GetString(data,0,recv);
   Console.WriteLine("server:{0}",welcome);
   while(true)
   {
    input=Console.ReadLine();
    if(input=="exit")
     break;
    server.Send(Encoding.Default.GetBytes(input));
    data=new byte[1024];
    recv=server.Receive(data);
    Console.WriteLine(Encoding.Default.GetString(data,0,recv));
   }
   Console.WriteLine("Disconnection from server .....");
   server.Shutdown(SocketShutdown.Both);
   server.Close();
  }
 }
}

收藏本文:
】【打印页面】【推荐给朋友】【关闭窗口

站长学院

推荐信息