首 页  资讯中心 下载中心 资讯教程 最新下载 发布软件 发布文章 网通站 电信站繁體中文
设为首页
加入收藏
联系我们
 
您当前的位置:曾子源码软件下载站 -> 建站技术 -> Web Server -> 文章内容 退出登录 用户管理
热门文章
· 常用C,VC,C++书籍下..
· 新概念英语视频教程..
· 常用 JAVA JAVA2 J..
· 《梦幻麻将馆9雀圣争..
· 新东方英语视频教程..
· 常用VB,Visual Basi..
· [组图] After Effect..
· WINDOWS 所有系统文..
· [组图] 让机器运行多..
· 全美经典学习指导系..
相关文章
· [组图] 照片调色系列..
· [组图] 简单入门 轻松..
· [组图] 教程:Photos..
· [组图] 在线图片工具..
· 两步就轻松解除盗版..
· [组图] 把FLASH动画的..
· [组图] Gif动画轻松瘦..
· .NET Framework轻松..
· .NET Framework轻松..
· .NET Framework轻松..
轻松架起远程C-S体系
作者:佚名  来源:CSDN  发布时间:2005-11-1 18:45:56  发布人:我爱源码

减小字体 增大字体


  本文将介绍如何轻松架起远程客户/服务器体系结构,让您领略C#编成的带来的无限精简便利。

  首先,实现服务器端。代码分析如下:
  //引入相应命名空间
  using System;
  using System.Runtime.Remoting;
  using System.Runtime.Remoting.Channels;
  using System.Runtime.Remoting.Channels.Tcp;

  namespace ServerClass {
   //实现一个服务器和客户端将要共同进行通讯的类MyRemoteClass
   public class MyRemoteClass: MarshalByRefObject
   {
    public MyRemoteClass() {
    }
    //这个方法是服务器和客户端进行通讯的,当然也可以定义其他更多的方法
    //客户端传送一个字符串过来
    public bool SetString(String sTemp) {
     try {
      //服务器端打印客户端传过来的字符串。返回逻辑值
      Console.WriteLine("This string '{0}' has a length of {1}", sTemp, sTemp.Length);
      return sTemp != "";
     } catch {
      return false;
     }
    }
   }
   //服务器控制类,这个类只是为了控制启动和关闭服务器的作用,你也可以把它的Main放到MyRemoteClass类中去。
   public class MyServer {
    public static void Main() {
     //打开并注册一个服务
     TcpChannel chan = new TcpChannel(8085);
     ChannelServices.RegisterChannel(chan);
     RemotingConfiguration.RegisterWellKnownServiceType(
       System.Type.GetType("ServerClass.MyRemoteClass"),
       "RemoteTest", WellKnownObjectMode.SingleCall);
     //保持运行
     System.Console.WriteLine("Hit <enter> to exit...");
     System.Console.ReadLine();
    }
   }
  }

   然后,实现客户端。代码分析如下:
  //引入相应命名空间
  using System;
  using System.Runtime.Remoting.Channels;
  using System.Runtime.Remoting.Channels.Tcp;
  //引入服务器和客户端进行通讯的类MyRemoteClass
  using ServerClass;

  namespace ClientClass {
   public class MyClient {
    public static void Main() {
     try {
      //打开并注册一个TCP通道
      TcpChannel chan = new TcpChannel();
      ChannelServices.RegisterChannel(chan);
      连接服务器,获取通讯类
      MyRemoteClass obj = (MyRemoteClass) Activator.GetObject(typeof(MyRemoteClass),
         "tcp://localhost:8085/RemoteTest"); 
      if (obj == null)
       System.Console.WriteLine("Could not locate server");
      else
       if (obj.SetString("Sending String to Server"))
        System.Console.WriteLine("Success: Check the other console to verify.");
       else
        System.Console.WriteLine("Sending the test string has failed.");
      System.Console.WriteLine("Hit <enter> to exit...");

本新闻共2


CSDN

[1] [2]  下一页

[] [返回上一页] [打 印] [收 藏]
∷相关文章评论∷    (评论内容只代表网友观点,与本站立场无关!) [发表评论...]
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 网站信息排名查询
Copyright © 2004-2006 Zasp.Net. All Rights Reserved .