Hio ich möchte mir C# besser aneignen. Das einzige was ich nicht hinbekomme ist Remote Anwendungen zu schreiben. Ich möchte ein string übertragen der informationen enthalt was der Remote Rechner (auf das cmd des Remote Rechners) zu tun hat. Ich weis wie ich das auf den Zielcomputer in die cmd übertrage ich will nur wissen wie ich ein string in C# im Internet übertrage.
Hallo Ayke,
habe in der MSDN online geschaut, und z.B. folgendes Beispiel gefunden:
using System;
using System.Runtime.Remoting;
using System.Runtime.Remoting.Channels;
using System.Runtime.Remoting.Channels.Http;
public class MyServer
{
public static void Main()
{
// Create a 'HttpChannel' object and register it with the
// channel services.
ChannelServices.RegisterChannel(new HttpChannel(8086));
// Record the 'HelloServer' type as 'Singleton' well-known type.
WellKnownServiceTypeEntry myWellKnownServiceTypeEntry=
new WellKnownServiceTypeEntry(typeof(HelloServer),
"SayHello",
WellKnownObjectMode.Singleton);
// Register the remote object as well-known type.
RemotingConfiguration.RegisterWellKnownServiceType(
myWellKnownServiceTypeEntry);
// Retrieve object types registered on the service end
// as well-known types.
WellKnownServiceTypeEntry [] myWellKnownServiceTypeEntryCollection =
RemotingConfiguration.GetRegisteredWellKnownServiceTypes();
Console.WriteLine("The 'WellKnownObjectMode' of the remote object : "
+myWellKnownServiceTypeEntryCollection[0].Mode);
Console.WriteLine("The 'WellKnownServiceTypeEntry' object: "+
myWellKnownServiceTypeEntryCollection[0].ToString());
Console.WriteLine("Started the Server, Hit <enter> to exit...");
Console.ReadLine();
}
}
gefunden hier: MSDN - WellKnownServiceType
Du findest fast endlos viele Beispiele für Remoting in der MSDN. Bitte schaue mal dort.
Falls Du noch konkretere Fragen hast, dann stell sie hier.
Gruß
Norman-Timo
A: “Wie ist denn das Wetter bei euch?”
B: “Caps Lock.”
A: “Hä?”
B: “Na ja, Shift ohne Ende!”
Erstmal Dankeschön 👍
Aber kann mir das jemand dokumentieren aber für dummies. Hab 2 Tage nach ein vernüftigen deutschen Remote-Tutorial gesucht und nix gefunden ausser fertige Codes die ich nicht verstehe und ich werde sie auch nie ferstehen wenn mit keiner hilft. Der jenige der mir hilfen möchte bekommt von mir ein Webtemplate. Das wäre echt fetzig.
zb so etwas
WellKnownServiceTypeEntry [] myWellKnownServiceTypeEntryCollection =
RemotingConfiguration.GetRegisteredWellKnownServiceTypes();
//Das bewirkt das und das und bringt das und das
unsw
Ist echt wichtig für mich.
Hi,
schau mal hier:
http://www.microsoft.com/germany/msdn/library/net/DasNETRemotingFrameworkEntwicklungVerteilterApplikationenAufBasisDesNETFrameworks.mspx
Was meinst du mit Webtemplate?
PS: musste die URL so blöd darstellen, da er sonst es immer falsch umgewandelt hat
Ein Template (Vorlage) für ne Website wenn Jemand berteit ist mir alles ganz genau zu doku auch client seitig
Hi ich merke gerade das funktioniert auch nicht mit der URL
geh mal auf http://www.microsoft.com/germany/msdn/library dort gibt es links
ein .NET-Entwicklung->Verteilte Applikationen->Das .NET Remoting Framework - Entwicklung verteilter Anwendungen
danke schön 😁 aber wie gesagt jeden vorgang dokumentieren "ziehe mir trozdem den link mal rein" 😉
Hoi !
Wenn Du nur nen string oder ein paar Zahlenwerte verschicken willst, dann vergiss Remoting und benutze am besten simple Socket-Programmierung. Ist tausend mal einfacher und den ganzen Remoting-Overhead kannst Dir sparen.
Hier ein kleines Codebeispiel zum verschicken eines Strings :
using System.Net;
using System.Net.Sockets;
using System.IO;
using System.Windows.Forms;
public class SocketClientServerTest
{
public SocketClientServerTest()
{
}
public void StartSocketServer()
{
TcpListener server = new TcpListener(1000);
server.Start();
Socket socket = server.AcceptSocket();
NetworkStream ns = new NetworkStream(socket);
StreamWriter sw = new StreamWriter(ns);
while(true)
{
if(socket.Connected)
{
string welcomeString = "Welcome Client !";
sw.WriteLine(welcomeString);
}
}
}
public void ConnectToServer()
{
TcpClient client = new TcpClient();
client.Connect("localhost", 1000);
NetworkStream ns = client.GetStream();
StreamReader sr = new StreamReader(ns);
System.Threading.Thread.Sleep(500);
try
{
if(sr.Peek() != -1)
MessageBox.Show(sr.ReadLine());
}
catch
{
MessageBox.Show("Error receiving string form server");
}
}
}
Du rufst dann zuerst StartSocketServer auf m den Server zu starten. Danach kannst Du mit ConnectToServer eine beliebige Anzahl von Clients verbinden. Der Server schickt dann denn Willkommens-String an den Client.
Die ganze Kommunikation passiert durch das schreiben in und das Lesen aus dem Networkstream, der den Server mit dem Client verbindet.
Einfacher gehts glaub ich nicht, und das solltest Du auch problemlos an Deine Anforderungen anpassen können. Das Ganze funzt natürlich auch über das Internet, dann darfst halt nicht localhost beim client.Connect angeben sondern die IP-Adresse des Zielrechners.
Ich hoffe es hilft 🙂
"It is not wise to be wise" - Sun Tzu
Hab hier mal ein Remoting Bsp gepostet.
Wenn du die Events weg lässt funktioniert es wunderbar.