.Net中Remoting通信机制简单实例
.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通信机制简单实例的更多相关文章
- .Net中Remoting通信机制
Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式. 从微软的产品角度 ...
- TensorFlow中的通信机制——Rendezvous(一)本地传输
背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 在TensorFlow源码中我们经常能看到一个奇怪的词——Rendezvous ...
- Android中的常见通信机制和Linux中的通信机制
Handler Handler是Android系统中的一种消息传递机制,起作用是应对多线程场景.将A进程的消息传递给B线程,实现异步消息处理.很多情况是将工作线程中需要更新UI的操作消息传递给UI主线 ...
- TensorFlow中的通信机制——Rendezvous(二)gRPC传输
背景 [作者:DeepLearningStack,阿里巴巴算法工程师,开源TensorFlow Contributor] 本篇是TensorFlow通信机制系列的第二篇文章,主要梳理使用gRPC网络传 ...
- java反射机制简单实例
目录 Java反射 简单实例 @(目录) Java反射 Java语言允许通过程序化的方式间接对Class进行操作.Class文件由类装载器装载后,在JVM中将形成一份描述Class结构的元信息对象,通 ...
- Android中AIDL通信机制分析
一.背景 ·1.AIDL出现的原因 在android系统中,每一个程序都是运行在自己的进程中,进程之间无法进行通讯,为了在Android平台,一个进程通常不能访问另一个进程的内存空间,所以要想对话,需 ...
- android中的通信机制总结
第一种:使用handler来进行通信 handler 大家可以把它想象成主线程(UI线程)的一个子线程,它可以给主线程(UI线程)发送数据从而更新主线程(UI线程)的UI与逻辑,handler ...
- 在MFC框架中使用OpenGL的简单实例
引言 我们知道,在MFC框架中,用于绘图的接口是GDI.但GDI只能绘制简单的2D图形,要想制作精美的3D图形,一个可行的办法是使用OpenGL或者Direct3D等第三方库. 由于最近在给导师的一个 ...
- VS2008中C#开发webservice简单实例
1.创建工程 文件-> 新建->网站 如下图. 工程建好后,会自动添加如下代码: using System; using System.Linq; using System.Web; us ...
随机推荐
- Average Precision of VOC
转一篇文章,主要是关于VOC中Average Precision指标的 原文出处:https://sanchom.wordpress.com/tag/average-precision/ 还有一篇文章 ...
- List集合及子类
List集合特点:有序(存储和取出的元素一致):可重复 1.添加功能 void add(int index,Object element):在指定位置添加元素 2.获取功能 Object get(in ...
- docker run elasticsearch
docker run -d --name=esNode1 -p 9200:9200 -p 9300:9300 elasticsearch:2.3 -Des.network.publish_host=& ...
- php用redis保存session
1.修改php.ini中session配置: ini_set('session.save_handler', 'redis');ini_set('session.save_path', 'tcp:// ...
- [Delphi] Delphi版本号对照
VER300 Delphi Seattle / C++Builder Seattle 23 230 (Delphi:Win32/Win64/OSX/iOS32/iOS64/An ...
- SpringMVC学习记录2
废话 最近在看SpringMVC...里面东西好多...反正东看一点西看一点吧... 分享一下最近的一些心得..是关于DispatcherServlet的 DispatcherServlet与Cont ...
- juery学习6——焦点事件
参考资料 深入理解javascript中的焦点管理:http://www.cnblogs.com/xiaohuochai/p/5874447.html
- 笔记:程序内存管理 .bss .data .rodata .text stack heap
1.未初始化的全局变量(.bss段) bss段用来存放 没有被初始化 和 已经被初始化为0 的全局变量.如下例代码: #include<stdio.h> int bss_array[102 ...
- eclipse设置快速提示符
省掉废话,一个快速提示符真的能快速地提高编程效率. 下面介绍如何设置eclipse的快速提示符. 步骤如下: Windows --> preferences --> java --> ...
- shell 计算
1.整数计算 n=$((/)) echo $n 输出 2(注意必须是两个括号) exper / / 注意这里不支持括号,a%b,a/b后取余 output: 1 2.小数计算 bc <<& ...