.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

 

目录
相关文章
|
开发框架 .NET 数据库
.NETCore 获取数据库上下文[实例的方法和配置连接字符串
.NETCore 获取数据库上下文[实例的方法和配置连接字符串
854 1
|
物联网 Linux 开发工具
Net Core 跨平台应用使用串口、串口道通信,可能出现的问题、更简洁的实现方法
Net Core 跨平台应用使用串口、串口道通信,可能出现的问题、更简洁的实现方法
505 0
Net Core 跨平台应用使用串口、串口道通信,可能出现的问题、更简洁的实现方法
|
监控 物联网 API
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
MQTT广泛应用于工业物联网、智能家居、各类智能制造或各类自动化场景等。MQTT是一个基于客户端-服务器的消息发布/订阅传输协议,在很多受限的环境下,比如说机器与机器通信、机器与物联网通信等。好了,科普的废话不多说,下面直接通过.NET环境来实现一套MQTT通信demo,实现服务端与客户端的双边消息发布与订阅的功能和演示。
1764 0
【.NET+MQTT】.NET6 环境下实现MQTT通信,以及服务端、客户端的双边消息订阅与发布的代码演示
|
4月前
|
Go
在golang中发起http请求以获取访问域名的ip地址实例(使用net, httptrace库)
这只是追踪我们的行程的简单方法,不过希望你跟着探险家的脚步,即使是在互联网的隧道中,也可以找到你想去的地方。接下来就是你的探险之旅了,祝你好运!
179 26
|
开发框架 .NET API
.Net Core Console 项目如何使用 HttpClient 与 Web 服务通信
.Net Core Console 项目如何使用 HttpClient 与 Web 服务通信
|
Linux Docker 容器
蓝易云 - net.ipv4.ip_forward=0导致docker容器无法与外部通信
完成以上步骤后,Docker容器应该能够正常与外部通信了。
604 2
|
开发框架 .NET API
Hangfire .NET任务调度框架实例
# 1、介绍 Hangfire是一个开源的.NET任务调度框架,提供了内置集成化的控制台(后台任务调度面板),可以直观明了的查看作业调度情况。 # 2、Nuget安装 ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231031-119e3068.png?x-cos-security-token=baeOYKJ0BOuKXaDG6L8qKX7pdH823CLaaefd8181d9b33eccf4b2a2f35cd15dd7jLbyf
179 0
Hangfire .NET任务调度框架实例
|
调度
Quartz.NET 任务调度框架的demo实例
​ # 1、新建项目 简单实例,新建一个控制台程序 # 2、Nuget安装Quartz ![请在此添加图片描述](https://developer-private-1258344699.cos.ap-guangzhou.myqcloud.com/column/article/5877188/20231031-52d48c93.png?x-cos-security-token=baeOYKJ0BOuKXaDG6L8qKX7pdH823CLa740df95695ddd90763a204f7cd7172afjLbyfjQS2rqYm0waz5Rlsx3p2jhWg-yj9JZ3WKDq32bpX
140 0
|
网络协议 安全 Java
.NET网络编程——TCP通信
.NET网络编程——TCP通信
170 0
|
消息中间件 安全 数据库连接
.NET开发问题记录——TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
.NET开发问题记录——TransactionScope出错:“与基础事务管理器的通信失败”的解决方法
425 0