首页 > 代码库 > .Net中Remoting通信机制简单实例
.Net中Remoting通信机制简单实例
.Net中Remoting通信机制
前言:
本程序例子实现一个简单的Remoting通信案例
本程序采用语言:c#
编译工具:vs2013工程文件
编译环境:.net 4.0
程序模块:
- Test测试
- Talker
- Server端
- Client端
- 源代码工程文件下载
Test测试程序截图:
Talker类:
1 public class Talker : MarshalByRefObject2 {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 else17 {18 timer1.Enabled = false;19 btnSend.Text = "开始";20 }21 }22 23 private void sendMsg(string msg)24 {25 try26 {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 try41 {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中Remoting通信机制简单实例
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。