.Net中Remoting通信机制简单实例

简介: 原文:.Net中Remoting通信机制简单实例 .Net中Remoting通信机制 前言: 本程序例子实现一个简单的Remoting通信案例     本程序采用语言:c#   编译工具:vs2013工程文件   编译环境:.

原文:.Net中Remoting通信机制简单实例

.Net中Remoting通信机制

前言:

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

 

  本程序采用语言:c#

  编译工具:vs2013工程文件

  编译环境:.net 4.0

程序模块:

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

 

Test测试程序截图:

Talker类:

1 public class Talker : MarshalByRefObject
2     {
3         public void Talk(string word)
4         {
5             System.Console.WriteLine(word);
6         }
7 
8     }

 

Server端:

1  //注册通道
2             TcpServerChannel channel = new TcpServerChannel("TalkChannel",8090);
3             ChannelServices.RegisterChannel(channel,true);
4 
5             //注册远程对象
6             RemotingConfiguration.RegisterWellKnownServiceType(
7                 typeof(Talker),
8                 "Talker",
9                 WellKnownObjectMode.SingleCall);

Client端:

 1   public partial class Form1 : Form
 2     {
 3         private Talker _talk = null;
 4         public Form1()
 5         {
 6             InitializeComponent();
 7         }
 8 
 9         private void btnSend_Click(object sender, EventArgs e)
10         {
11             if (btnSend.Text.Equals("开始"))
12             {
13                 timer1.Enabled = true;
14                 btnSend.Text = "结束";
15             }
16             else
17             {
18                 timer1.Enabled = false;
19                 btnSend.Text = "开始";
20             }
21         }
22 
23         private void sendMsg(string msg)
24         {
25             try
26             {
27                 //操作远程对象
28                 _talk.Talk(msg);
29                 string newline = msg + Environment.NewLine;
30                 txtContent.Text = txtContent.Text.Insert(0, newline);
31             }
32             catch (Exception ex)
33             {
34                 MessageBox.Show(ex.Message);
35             }
36         }
37 
38         private void Form1_Load(object sender, EventArgs e)
39         {
40             try
41             {
42                 timer1.Interval = 1000;
43                 //注册通道
44                 TcpClientChannel channel = new TcpClientChannel();
45                 ChannelServices.RegisterChannel(channel, true);
46                 //获取远程对象
47                 _talk = (Talker)Activator.GetObject(typeof(Talker), "TCP://localhost:8090/Talker");
48             }
49             catch (Exception ex)
50             {
51                 MessageBox.Show(ex.Message);
52             }
53         }
54 
55         private void timer1_Tick(object sender, EventArgs e)
56         {
57             sendMsg(txtWord.Text.Trim());
58         }

 

源代码工程文件下载:

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

 

目录
相关文章
|
物联网 Linux 开发工具
Net Core 跨平台应用使用串口、串口道通信,可能出现的问题、更简洁的实现方法
Net Core 跨平台应用使用串口、串口道通信,可能出现的问题、更简洁的实现方法
345 0
Net Core 跨平台应用使用串口、串口道通信,可能出现的问题、更简洁的实现方法
|
监控 物联网 API
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
MQTT广泛应用于工业物联网、智能家居、各类智能制造或各类自动化场景等。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,在很多受限的环境下,比如说机器与机器通信、机器与物联网通信等。好了,科普的废话不多说,下面直接通过.NET环境来实现一套MQTT通信demo,实现服务端与客户端的双边消息发布与订阅的功能和演示。
946 0
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
|
7月前
|
网络协议 安全 Java
.NET网络编程——TCP通信
.NET网络编程——TCP通信
57 0
|
9月前
|
消息中间件 安全 数据库连接
.NET开发问题记录——TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
.NET开发问题记录——TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
182 0
|
存储 数据采集 网络协议
【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信
随着工业化的发展,目前越来越多的开发,从互联网走向传统行业。其中,工业领域也是其中之一,包括各大厂也都在陆陆续续加入工业4.0的进程当中。
292 0
【.NET6+Modbus】Modbus TCP协议解析、仿真环境以及基于.NET实现基础通信
|
存储 开发框架 JavaScript
『SignalR』.NET使用 SignalR 进行实时通信初体验
📣读完这篇文章里你能收获到 - 你将对SignalR有了初步的认识及体会 - 对于哪些场景适用SignalR以及如何接入使用 - SignalR的代码入门级Demo实际案例
455 0
『SignalR』.NET使用 SignalR 进行实时通信初体验
|
网络协议
.Net Micro Framework研究—TCP/IP通信
关于网络通信方面,Digi提供了两个程序,一个是TCP Server运行在Digi的开发板上,一个是TCP Client程序,运行在PC上,通过网络,上位机很容易控制Digi开发的IO信号
625 0
|
网络安全 Windows 数据库
.Net Remoting的双向通信和Windows Service的宿主服务
原文:.Net Remoting的双向通信和Windows Service的宿主服务      作为微软分布式技术之一的.Net Remoting,从性能、安全等各方面来说都是相对比较稳定的,也是一项比较成熟的分布式技术。
894 0
|
网络协议 网络架构
.Net中Remoting通信机制
原文:.Net中Remoting通信机制 Remoting通信机制 Remoting介绍 主要元素 通道类型 激活方式 对象定义 Remoting介绍 什么是Remoting,简而言之,我们可以将其看作是一种分布式处理方式。
825 0
.NET Remoting学习笔记(二)激活方式
原文:.NET Remoting学习笔记(二)激活方式 目录 .NET Remoting学习笔记(一)概念 .NET Remoting学习笔记(二)激活方式 .NET Remoting学习笔记(三)信道   参考:百度百科  风车车.Net   激活方式概念 在访问远程类型的一个对象实例之前,必须通过一个名为Activation的进程创建它并进行初始化。
942 0