服务端是怎么向类库传值
我用服务端向类库传值(调用类库的方法),客户端取出来是空的
我把值直接赋在类库的变量中,客户端可以正常取到
服务端是怎么向类库传值
我用服务端向类库传值(调用类库的方法),客户端取出来是空的
我把值直接赋在类库的变量中,客户端可以正常取到
你说的那种可以讲明白点吗
[此贴子已经被作者于2007-10-25 16:29:35编辑过]
//这是dll
using System;
public class HelloServer : MarshalByRefObject
{
public HelloServer()
{
}
private string scp1 = "";
private string scp2 = "";
private string scp3 = "";
private string scp4 = "";
private string scp5 = "";
/// <summary>
/// 服务端调用
/// </summary>
/// <param name="flag"></param>
public void scp11(string flag)
{
scp1 = flag;
}
public void scp22(string flag)
{
scp2 = flag;
}
public void scp33(string flag)
{
scp3 = flag;
}
public void scp44(string flag)
{
scp4 = flag;
}
public void scp55(string flag)
{
scp5 = flag;
}
/// <summary>
/// 客户端调用
/// </summary>
/// <returns></returns>
public string ccp1()
{
string cp1 = "";
cp1 = scp1;
return cp1;
}
public string ccp2()
{
string cp2 = "";
cp2 = scp2;
return cp2;
}
public string ccp3()
{
string cp3 = "";
cp3 = scp3;
return cp3;
}
public string ccp4()
{
string cp4 = "";
cp4 = scp4;
return cp4;
}
public string ccp5()
{
string cp5 = "";
cp5 = scp5;
return cp5;
}
}
//服务端
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace server
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
ChannelServices.RegisterChannel(new TcpChannel(8082));
}
private void button1_Click(object sender, EventArgs e)
{
RemotingConfiguration.RegisterActivatedServiceType(typeof(HelloServer));
HelloServer server = new HelloServer();
server.scp11(this.textBox1.Text);
}
}
}
//客户端
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Tcp;
namespace client
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
ChannelServices.RegisterChannel(new TcpChannel());
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
// 创建 激活 客户端类型 实体.
ActivatedClientTypeEntry myActivatedClientTypeEntry =
new ActivatedClientTypeEntry(typeof(HelloServer),
"tcp://localhost:8082");
// 通过注册客户端类型激活服务端
RemotingConfiguration.RegisterActivatedClientType(
myActivatedClientTypeEntry);
}
private void button1_Click(object sender, EventArgs e)
{
try
{
// 实例化客户端对象
HelloServer server = new HelloServer();
// 在本地检查与服务端的连接.
if (server == null)
{
this.label1.Text = ("连接失败!");
}
else
{
this.label1.Text = server.ccp1();
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}
}
}