本文整理汇总了C#中System.Runtime.Remoting.Channels.BinaryServerFormatterSinkProvider类的典型用法代码示例。如果您正苦于以下问题:C# BinaryServerFormatterSinkProvider类的具体用法?C# BinaryServerFormatterSinkProvider怎么用?C# BinaryServerFormatterSinkProvider使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
BinaryServerFormatterSinkProvider类属于System.Runtime.Remoting.Channels命名空间,在下文中一共展示了BinaryServerFormatterSinkProvider类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
static void Main(string[] args)
{
//TODO remove when PuppetMaster is implemented
// myPort = 8086;
//TODO remove after PuppetMaster is implemented
//myURL = "tcp://localhost:"+myPort+"/broker";
if (args.Length == 4)
{
new Broker(args[0], args[1], args[2], Int32.Parse(args[3]));
}
else
{
new Broker(args[0], args[1], Int32.Parse(args[2]));
}
BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary props = new Hashtable();
props["port"] = myPort;
TcpChannel channel = new TcpChannel(props, null, provider);
//TcpChannel channel = new TcpChannel(myPort);
ChannelServices.RegisterChannel(channel, false);
RemotingConfiguration.RegisterWellKnownServiceType(typeof(RemoteBroker), "broker", WellKnownObjectMode.Singleton);
BrokerInterface rb = (BrokerInterface)Activator.GetObject(typeof(BrokerInterface), myURL);
rb.ConnectFatherBroker(fatherURL);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
示例2: GetRemoteObject
/// <summary>
///
/// </summary>
/// <returns></returns>
private RemoteObject GetRemoteObject()
{
if (_remoteObject == null)
{
IDictionary tcpProperties = new Hashtable();
BinaryClientFormatterSinkProvider tcpClientSinkProvider =
new BinaryClientFormatterSinkProvider();
BinaryServerFormatterSinkProvider tcpServerSinkProvider =
new BinaryServerFormatterSinkProvider();
tcpServerSinkProvider.TypeFilterLevel =
System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
tcpProperties["timeout"] = 5000;
tcpProperties["port"] = 0;
_tcpChannel = new TcpChannel(
tcpProperties,
tcpClientSinkProvider,
tcpServerSinkProvider);
ChannelServices.RegisterChannel(_tcpChannel, false);
_remoteObject = (RemoteObject)Activator.GetObject(
typeof(RemoteObject),
"tcp://127.0.0.1:9000/RO"
);
}
return _remoteObject;
}
示例3: HTTPTwoWayRemotingClient
//private Belikov.GenuineChannels.GenuineTcp.GenuineTcpChannel channel;
public HTTPTwoWayRemotingClient(int listenPort, int keepAliveIntervalSeconds)
: base(keepAliveIntervalSeconds)
{
/*IDictionary sProps = new Hashtable();
sProps["algorithm"] = "3DES";
sProps["requireSecurity"] = "true";
sProps["connectionAgeLimit"] = "120";
sProps["sweepFrequency"] = "60";*/
BinaryServerFormatterSinkProvider binaryServerFormatSinkProvider = new BinaryServerFormatterSinkProvider();
binaryServerFormatSinkProvider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
//SecureServerChannelSinkProvider secureServerSinkProvider = new SecureServerChannelSinkProvider(sProps, null);
//secureServerSinkProvider.Next = binaryServerFormatSinkProvider;
BinaryClientFormatterSinkProvider binaryClientFormatSinkProvider = new BinaryClientFormatterSinkProvider();
//binaryClientFormatSinkProvider.Next = new SecureClientChannelSinkProvider(sProps, null);
IDictionary props = new Hashtable();
props["port"] = listenPort;
//props["useIpAddress"] = false;
//props["clientConnectionLimit"] = 1;
//props["rejectRemoteRequests"] = false;
//props["ConnectTimeout"] = 15000;
//props["InvocationTimeout"] = 15000;
//props["Priority"] = "100";
//Belikov.GenuineChannels.Security.SecuritySessionServices.SetCurrentSecurityContext(new Belikov.GenuineChannels.Security.SecuritySessionParameters(Belikov.GenuineChannels.Security.SecuritySessionServices.DefaultContext.Name, Belikov.GenuineChannels.Security.SecuritySessionAttributes.ForceSync, TimeSpan.FromSeconds(15), Belikov.GenuineChannels.Connection.GenuineConnectionType.Persistent, null, TimeSpan.FromMinutes(5)));
//channel = new System.Runtime.Remoting.Channels.Tcp.TcpChannel(props, binaryClientFormatSinkProvider, secureServerSinkProvider);
channel = new System.Runtime.Remoting.Channels.Tcp.TcpChannel(props, binaryClientFormatSinkProvider, binaryServerFormatSinkProvider);
//channel = new System.Runtime.Remoting.Channels.Http.HttpChannel(props, binaryClientFormatSinkProvider, secureServerSinkProvider);
//channel = new Belikov.GenuineChannels.GenuineTcp.GenuineTcpChannel(props, binaryClientFormatSinkProvider, binaryServerFormatSinkProvider);
System.Runtime.Remoting.Channels.ChannelServices.RegisterChannel(channel);
}
示例4: Main
static void Main(string[] args)
{
Console.BackgroundColor = ConsoleColor.DarkMagenta;
Console.Clear();
string dataServerName = args[0];
int dataServerPort = Convert.ToInt32(args[1]);
/*TcpChannel channel = new TcpChannel(metadataServerPort);
ChannelServices.RegisterChannel(channel, true);*/
BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary props = new Hashtable();
props["port"] = dataServerPort;
props["timeout"] = 200000;
TcpChannel channel = new TcpChannel(props, null, provider);
ChannelServices.RegisterChannel(channel, true);
//Registering DataServer service
Console.WriteLine("Registering DataServer as " + dataServerName + " with port " + dataServerPort);
DataServerRemoting dataServerRemotingObject = new DataServerRemoting(dataServerName, dataServerPort);
RemotingServices.Marshal((DataServerRemoting)dataServerRemotingObject, dataServerName, typeof(DataServerRemoting));
dataServerRemotingObject.register();
/*RemotingConfiguration.RegisterWellKnownServiceType(
typeof(MetadataServerRemoting),
metadataServerName,
WellKnownObjectMode.Singleton); --> APAGAR EM PRINCIPIO*/
Console.WriteLine("Registered!");
System.Console.WriteLine("DataServer - " + dataServerName + " -<enter> to leave...");
System.Console.ReadLine();
}
示例5: JobManagerFixture
public JobManagerFixture()
{
BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider();
serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
System.Collections.IDictionary ClientTcpChannelProperties = new System.Collections.Hashtable();
ClientTcpChannelProperties["name"] = "ClientTcpChan";
ChannelServices.RegisterChannel(
new System.Runtime.Remoting.Channels.Tcp.TcpClientChannel(ClientTcpChannelProperties, new BinaryClientFormatterSinkProvider()), false);
int port = 35010;
System.Collections.IDictionary TcpChannelProperties = new System.Collections.Hashtable();
TcpChannelProperties["port"] = port;
try
{
chan = new System.Runtime.Remoting.Channels.Tcp.TcpServerChannel(TcpChannelProperties, serverProv);
ChannelServices.RegisterChannel(chan, false);
server = new JobServerImpl();
serverRef = RemotingServices.Marshal(server, "JobServer");
server.handlersAdded.Set();
}
catch (SocketException e)
{
if (!e.Message.StartsWith("Only one usage of each socket address"))
{
throw;
}
}
}
示例6: RegisterChannels
private void RegisterChannels()
{
BinaryServerFormatterSinkProvider binaryServerProv = new BinaryServerFormatterSinkProvider();
binaryServerProv.TypeFilterLevel = TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider binaryClientProv = new BinaryClientFormatterSinkProvider();
IDictionary props = new Hashtable();
props["port"] = clientPort;
props["name"] = server + ":" + serverPort;
IPAddress[] serverIpAddresses = Dns.GetHostAddresses(server);
IPAddress serverSelectedIP = null;
foreach (IPAddress address in serverIpAddresses)
{
if (address.AddressFamily == AddressFamily.InterNetwork)
{
serverSelectedIP = address;
}
}
if (serverSelectedIP != null)
{
IPAddress address = NetHelper.GetIpAddressFromTheSameNetworkAs(serverSelectedIP);
if (address != null)
{
props["machineName"] = address.ToString();
}
}
else
{
throw new Exception("Could not select an IP address for the server.");
}
chan = new TcpChannel(props, binaryClientProv, binaryServerProv);
ChannelServices.RegisterChannel(chan);
}
示例7: Main
static void Main(string[] args)
{
RemotingConfiguration.ApplicationName = "CallbackRemoting";
// 设置formatter
BinaryServerFormatterSinkProvider formatter = new BinaryServerFormatterSinkProvider();
formatter.TypeFilterLevel = TypeFilterLevel.Full;
// 设置通道名称和端口
IDictionary propertyDic = new Hashtable();
propertyDic["name"] = "CustomTcpChannel";
propertyDic["port"] = 8502;
// 注册通道
IChannel tcpChnl = new TcpChannel(propertyDic, null, formatter);
ChannelServices.RegisterChannel(tcpChnl, false);
// 注册类型
Type t = typeof(Server);
RemotingConfiguration.RegisterWellKnownServiceType(
t, "ServerActivated", WellKnownObjectMode.Singleton);
Console.WriteLine("Server running, model: Singleton\n");
Console.ReadKey();
}
示例8: Main
public static void Main(string[] args)
{
short port=23456;
Console.WriteLine("USAGE: subserver <portnumber>");
if(args.Length>1 && Int16.TryParse(args[1],out port) && port>1024){
//OK, got good port
} else {
port = 23456; //default port
}
try {
BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider();
serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider();
IDictionary props = new Hashtable();
props["port"] = port;
TcpChannel chan = new TcpChannel(props, clientProv, serverProv); //create the tcp channel
ChannelServices.RegisterChannel(chan,false); //register the tcp channel
RemotingConfiguration.RegisterWellKnownServiceType(typeof(subsharelib.subshareRemoteObject),"SUBSERVER",WellKnownObjectMode.Singleton); //publish the remote object
Console.WriteLine("SERVER STARTED AT PORT "+port);
} catch (Exception ex) {
Console.WriteLine("SERVER CAN NOT START! "+ex);
}
Console.Write("Press any key to exit . . . ");
Console.ReadKey(true);
}
示例9: frmRCleint
public frmRCleint()
{
InitializeComponent();
//************************************* TCP *************************************//
// using TCP protocol
// running both client and server on same machines
//TcpChannel chan = new TcpChannel();
//˫���ŵ�
BinaryServerFormatterSinkProvider serverProv = new BinaryServerFormatterSinkProvider();
serverProv.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider clientProv = new BinaryClientFormatterSinkProvider();
IDictionary props = new Hashtable();
props["port"] = 0;//���ն˿�(���)
TcpChannel chan = new TcpChannel(props, clientProv, serverProv);
ChannelServices.RegisterChannel(chan,false);
// Create an instance of the remote object
remoteObject = (MyRemotableObject) Activator.GetObject(typeof(MyRemotableObject),"tcp://localhost:8080/HelloWorld");
// if remote object is on another machine the name of the machine should be used instead of localhost.
//************************************* TCP *************************************//
wrapper = new EventWrapper();//�¼���װ������
wrapper.LocalEvent += new ServerEventHandler(OnServerEvent);
remoteObject.ServerEvent += new ServerEventHandler(wrapper.Response);
}
示例10: PuppetMasterForm
public PuppetMasterForm()
{
InitializeComponent();
//Inicializations
puppet_master_history_TextBox.Text = "";
dump_history_TextBox.Text = "";
command_TextBox.Text = "";
BinaryServerFormatterSinkProvider provider = new BinaryServerFormatterSinkProvider();
provider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary props = new Hashtable();
props["port"] = 8400;
props["timeout"] = 200000;
channel = new TcpChannel(props, null, provider);
ChannelServices.RegisterChannel(channel, true);
clients = new Dictionary<string, Tuple<string, ClientInterface>>();
metadataServers = new Dictionary<string, Tuple<string, MetadataServerInterface>>();
dataServers = new Dictionary<string, Tuple<string, DataServerInterface>>();
clientStartPort = 8100;
metadataServerStartPort = 8200;
dataServerStartPort = 8300;
script = null;
}
示例11: EntryPoint
public EntryPoint(
RemoteHooking.IContext context,
String channelName,
CaptureConfig config)
{
// Get reference to IPC to host application
// Note: any methods called or events triggered against _interface will execute in the host process.
_interface = RemoteHooking.IpcConnectClient<CaptureInterface>(channelName);
// We try to ping immediately, if it fails then injection fails
_interface.Ping();
#region Allow client event handlers (bi-directional IPC)
// Attempt to create a IpcServerChannel so that any event handlers on the client will function correctly
IDictionary properties = new Hashtable();
properties["name"] = channelName;
properties["portName"] = channelName + Guid.NewGuid().ToString("N");
// random portName so no conflict with existing channels of channelName
var binaryProv =
new BinaryServerFormatterSinkProvider();
binaryProv.TypeFilterLevel = TypeFilterLevel.Full;
var _clientServerChannel =
new IpcServerChannel(properties, binaryProv);
ChannelServices.RegisterChannel(_clientServerChannel, false);
#endregion
}
示例12: Start
/// <summary>
/// Sets up the services remoting channel
/// </summary>
public void Start()
{
try
{
System.Collections.Hashtable props = new System.Collections.Hashtable();
props["typeFilterLevel"] = "Full";
// Both formatters only use the typeFilterLevel property
BinaryClientFormatterSinkProvider cliFormatter = new BinaryClientFormatterSinkProvider(props, null);
BinaryServerFormatterSinkProvider srvFormatter = new BinaryServerFormatterSinkProvider(props, null);
// The channel requires these to be set that it can found by name by clients
props["name"] = "SyslogConsole";
props["portName"] = "SyslogConsole";
props["authorizedGroup"] = "Everyone";
// Create the channel
channel = new IpcChannel(props, cliFormatter, srvFormatter);
channel.IsSecured = false;
// Register the channel in the Windows IPC list
ChannelServices.RegisterChannel(channel, false);
// Register the channel for remoting use
RemotingConfiguration.RegisterWellKnownServiceType(typeof(ClientMethods), "Server", WellKnownObjectMode.Singleton);
// Assign the event to a handler
Listener.MessageReceived += new Listener.MessageReceivedEventHandler(Listener_MessageReceived);
}
catch (Exception ex)
{
EventLogger.LogEvent("Could not create a named pipe because: " + ex.Message + Environment.NewLine + "Communication with the GUI console will be disabled.",
System.Diagnostics.EventLogEntryType.Warning);
}
}
示例13: RegisterRemoting
private void RegisterRemoting()
{
{
try
{
BinaryServerFormatterSinkProvider server_provider = new BinaryServerFormatterSinkProvider();
server_provider.TypeFilterLevel = System.Runtime.Serialization.Formatters.TypeFilterLevel.Full;
BinaryClientFormatterSinkProvider client_provider = new BinaryClientFormatterSinkProvider();
IDictionary properties = new Hashtable();
properties["port"] = "0";
TcpChannel channel = new TcpChannel(properties, client_provider, server_provider);
ChannelServices.RegisterChannel(channel, false);
user = (IUser)Activator.GetObject(typeof(IUser), "tcp://localhost:9998/UserHandeling");
portal = (IPortal)Activator.GetObject(typeof(IPortal), "tcp://localhost:9998/PortalHandeling");
ftserver = (IFTserver)Activator.GetObject(typeof(IFTserver), "tcp://localhost:9998/TransferHandeling");
}
catch (RemotingException e)
{
MessageBox.Show("Connection Error");
}
}
}
示例14: btnStart_Click
private void btnStart_Click(object sender, EventArgs e)
{
setServiceXml();
btnStart.Enabled = false;
try
{
Setting.Load();
BinaryServerFormatterSinkProvider binaryServerFormatterSinkProvider = new BinaryServerFormatterSinkProvider();
BinaryClientFormatterSinkProvider clientSinkProvider = new BinaryClientFormatterSinkProvider();
binaryServerFormatterSinkProvider.TypeFilterLevel = TypeFilterLevel.Full;
IDictionary dic = new Dictionary<string, int>();
dic.Add("port", Setting.Instance.Port);
TcpChannel channel = new TcpChannel(dic, clientSinkProvider, binaryServerFormatterSinkProvider);
ChannelServices.RegisterChannel(channel, false);
List<IRemoteService> list = ServicesManager.GetTypeFromAssembly<IRemoteService>();
foreach (IRemoteService service in list)
{
service.RegisterService();
}
btnStop.Enabled = true;
}
catch (Exception ex)
{
btnStart.Enabled = true;
throw ex;
}
}
示例15: CreateServerChannel
public IChannelReceiver CreateServerChannel(string name, Uri uri)
{
var sink = new BinaryServerFormatterSinkProvider();
sink.TypeFilterLevel = TypeFilterLevel.Full;
return new TcpServerChannel(name, uri.Port, sink);
}