.Net中Remoting通信机制

前言:

本程序例子实现一个简单的Remoting通信案例

  本程序采用语言:c#

  编译工具:vs2013工程文件

  编译环境:.net 4.0

程序模块:

  • Test测试
  • Talker
  • Server端
  • Client端
  • 源代码工程文件下载

Test测试程序截图:

Talker类:

 public class Talker : MarshalByRefObject
{
public void Talk(string word)
{
System.Console.WriteLine(word);
} }

Server端:

  //注册通道
TcpServerChannel channel = new TcpServerChannel("TalkChannel",);
ChannelServices.RegisterChannel(channel,true); //注册远程对象
RemotingConfiguration.RegisterWellKnownServiceType(
typeof(Talker),
"Talker",
WellKnownObjectMode.SingleCall);

Client端:

   public partial class Form1 : Form
{
private Talker _talk = null;
public Form1()
{
InitializeComponent();
} private void btnSend_Click(object sender, EventArgs e)
{
if (btnSend.Text.Equals("开始"))
{
timer1.Enabled = true;
btnSend.Text = "结束";
}
else
{
timer1.Enabled = false;
btnSend.Text = "开始";
}
} private void sendMsg(string msg)
{
try
{
//操作远程对象
_talk.Talk(msg);
string newline = msg + Environment.NewLine;
txtContent.Text = txtContent.Text.Insert(, newline);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} private void Form1_Load(object sender, EventArgs e)
{
try
{
timer1.Interval = ;
//注册通道
TcpClientChannel channel = new TcpClientChannel();
ChannelServices.RegisterChannel(channel, true);
//获取远程对象
_talk = (Talker)Activator.GetObject(typeof(Talker), "TCP://localhost:8090/Talker");
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
} private void timer1_Tick(object sender, EventArgs e)
{
sendMsg(txtWord.Text.Trim());
}

源代码工程文件下载:

  源代码工程文件下载 http://files.cnblogs.com/files/JiYF/RemotingSolution.rar

.Net中Remoting通信机制简单实例的更多相关文章

  1. .Net中Remoting通信机制

    Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式. 从微软的产品角度 ...

  2. TensorFlow中的通信机制——Rendezvous(一)本地传输

    背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 在TensorFlow源码中我们经常能看到一个奇怪的词——Rendezvous ...

  3. Android中的常见通信机制和Linux中的通信机制

    Handler Handler是Android系统中的一种消息传递机制,起作用是应对多线程场景.将A进程的消息传递给B线程,实现异步消息处理.很多情况是将工作线程中需要更新UI的操作消息传递给UI主线 ...

  4. TensorFlow中的通信机制——Rendezvous(二)gRPC传输

    背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 本篇是TensorFlow通信机制系列的第二篇文章,主要梳理使用gRPC网络传 ...

  5. java反射机制简单实例

    目录 Java反射 简单实例 @(目录) Java反射 Java语言允许通过程序化的方式间接对Class进行操作.Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通 ...

  6. Android中AIDL通信机制分析

    一.背景 ·1.AIDL出现的原因 在android系统中,每一个程序都是运行在自己的进程中,进程之间无法进行通讯,为了在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需 ...

  7. android中的通信机制总结

      第一种:使用handler来进行通信   handler 大家可以把它想象成主线程(UI线程)的一个子线程,它可以给主线程(UI线程)发送数据从而更新主线程(UI线程)的UI与逻辑,handler ...

  8. 在MFC框架中使用OpenGL的简单实例

    引言 我们知道,在MFC框架中,用于绘图的接口是GDI.但GDI只能绘制简单的2D图形,要想制作精美的3D图形,一个可行的办法是使用OpenGL或者Direct3D等第三方库. 由于最近在给导师的一个 ...

  9. VS2008中C#开发webservice简单实例

    1.创建工程 文件-> 新建->网站 如下图. 工程建好后,会自动添加如下代码: using System; using System.Linq; using System.Web; us ...

随机推荐

  1. C# 的TCP Socket (异步方式)

    简单的c# TCP通讯(TcpListener) C# 的TCP Socket (同步方式) C# 的TCP Socket (异步方式) C# 的tcp Socket设置自定义超时时间 C# TCP ...

  2. TeXstudio 编写Latex论文的若干问题

    TeXstudio 编写Latex论文的若干问题解决方案总结       问题1: 如何安装TeXstudio 以及 Texstudio当中的中文字体使用问题.   一.如何安装TeXstudio 很 ...

  3. C语言查缺补漏

    7.用ucontext实现简单的用户空间协作多线程 转 http://blog.chinaunix.net/uid-26000137-id-3973004.html http://blog.csdn. ...

  4. mysql获取一个表中的下一个自增(id)值的方法

    SELECT Auto_increment FROM information_schema.`TABLES` WHERE Table_Schema='数据库名' AND table_name = '表 ...

  5. 2.1、Hibernate多表操作--一对多、多对一、多对多。

    一.什么是一对一.一对多.多对一及多对多关系(以简单的学生和老师的关系为例来说): 1.一对一:学生具有学号和姓名(假定没有同名的学生)这两个属性,那么我知道了学生的学号也就能找到对应的学生姓名,如果 ...

  6. plsql配置数据库连接

    工具/原料   PL/SQL 方法/步骤     在Oracle的安装文件下查找tnsnames.ora文件,一般路径如: ORACLE_HOME%\network\admin下: 如果真的找不到路径 ...

  7. 国内github访问慢的解决方法

    本文是windows处理方法,macos方法也差不多. 一般Github的访问有两部分:主站的访问和二级域名的资源加载(比如样式文件等) 一般Github加载缓慢,主要是 assets-cdn.git ...

  8. doT.js

    最近用到的数据模板引擎有很多,今天讲的doT.js也是其中一种. doT.js的特点是体积小,速度快,并且不依赖其他插件. 官网下载:http://olado.github.io 下面是用法: 模板引 ...

  9. HTML5存储之 indexedDB

    IndexeDB是HTML5 重要的一部分,它是一种轻量级的NOSQL数据库.对创建具有丰富本地存储数据的数据密集型的离线HTML5 Web 应用程序很有用. IndexedDB是为了能够在客户端存储 ...

  10. github with msysgit:配置SSH Key

    Step 1: Check for SSH keys First, we need to check for existing ssh keys on your computer. Open up G ...