ich12423235 schrieb:
hallo,
wie kann man sehen wie schnell eine datei über einen socket gesendet wird...
ich hab da nur Socket.Send(...) stehen... aber nirgendswo was zum status oder wie viel schon übertragen wurde.
thx
Wie überprüfst du den ob du alles empfangen hast ?
Rückgabewert von Send ist die Anzahl gesendeter bytes! (bei recv auch )
Gruss Sheldor
jjjjjj schrieb:
Ich bin echt ratlos und würde mich über Ideen sehr freuen.
Code ?
Wahrscheinlich fängst du die Klicks falsch, wie David schon erwähnte.
Hier ist noch ein Beispiel (XNA)
http://msdn.microsoft.com/en-us/library/bb197572.aspx
Gruss Sheldor
Ich habe jetzt ein Image statt einem Contentpresenter genommen und mir
nen Property erstellt und das, an das Image gebunden, funktioniert auch.
Würde trotzdem gern wissen wie es mit einem Contentpresenter funktioniert,
damit es nicht fix für Bilder ist.
Ok, das war jetzt viel eher verständlich und konnte ich auch prima reproduzieren in VS2010. Das ist meiner Meinung nach ein Bug. Mal sehen, was andere noch dazu sagen.
Bugs in Visual Studio kannst du hier melden: http://connect.microsoft.com/VisualStudio/
Grüssli
Wobei wichtig ist, daß die Funktionssignatur eindeutig sein muß, d.h. der Rückgabewert als auch die Parameter der Funktionen müssen mit denen des Delegates übereinstimmen.
Für den Aufruf von Funktionen mit unterschiedlichen Parametern schau dir mal die Klasse 'FctCaller' in meinem Parser für mathematische Funktionen an...
Den1001 schrieb:
Wie haben die Microsoft Entwickler es geschafft, dass ihre Gadgets nicht ausgeblendet werden?
Indem sie "Gadgets" benutzen: http://msdn.microsoft.com/en-us/library/dd370867(VS.85).aspx
Moin,
ich suche eine Installationsroutine um DLLs installieren zu könnnen. DLLs müssen natürlich auch eingtragen werden. Ich nutze Visual C# 2008 Express. Welche würdet Ihr mir empfehlen.
Danke
Sven
Wenn du nur auf einzelne Pixel zugreifen willst, dann kannst du die Bitmap locken. Dabei kannst du ein PixelFormat angeben welches nicht unbedingt dem der Bitmap entsprechen muss:
http://www.bobpowell.net/lockingbits.htm
Ist auch viel viel schneller wenn man viele Pixel einer Bitmap lesen und/oder schreiben möchte.
Kann es sein, dass der ItemPresenter (bei einer Liste glaube ich "ListItemPresenter" o.s.ä.) die Klicks abfängt damit der den Wechsel der Tabs registreien kann?
Hier noch der Code: Mit Thread(GUI + Sockets) und File Senden Empfangen
Server:
public static void Requests()
{
Socket listenSock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
listenSock.Bind(new IPEndPoint(IPAddress.Any, 9999));
listenSock.Listen(20);
while (true)
{
using (Socket newConnection = listenSock.Accept())
{
...
// File Senden :
for (int i = 0; i < size; i+= tr)
{
tr = newConnection.Send(mfile,i , size - i, SocketFlags.None);
}
...
}
}
}
static void Main()
{
Thread listener = new Thread(new ThreadStart(Requests));
listener.IsBackground = true;
listener.Start();
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new FServer());
}
Client:
...
for (int i = 0; i < size; i += re)
{
re = s.Receive(mfile, i, size - i, SocketFlags.None);
}
File.WriteAllBytes(@"pfad\Archiv.zip", mfile);
...
Ist er Gut oder nicht oder gar nicht ?
GRuss H0mer
Einfacher wäre jedoch die Standard XML-Serialisierung des .NET-Frameworks:
Personen personen;
// Lesen:
using (StreamReader reader = new StreamReader(sFilename))
{
XmlSerializer xml = new XmlSerializer(typeof(Personen));
personen = (Personen)xml.Deserialize(reader);
}
// Schreiben:
using (StreamWriter writer = new StreamWriter(sFilename))
{
XmlSerializer xml = new XmlSerializer(typeof(Personen));
xml.Serialize(writer, personen);
}
Dazu mußt du dann nur eine Klasse Personen anlegen (welche am besten selber von List<Person> abgeleitet ist), und in der Klasse Person dann die entsprechenden Eigenschaften (Properties) definieren.
Details kannst du dann mit den XmlAttributen festlegen: Attribute zur Steuerung der XML-Serialisierung
Das wollte ich eigendlich vermeinden, weil der User da ja dann noch den Smtp Zugang angeben muss. Und das erschwert die Sache für einige User schon, aber ich werde es dann wohl so machen.
Dank Dir!
wanderameise schrieb:
heisst also, das ich wenn ich synchronisieren will mittels invoke, auf jeden Fall eine Methode die zum delegaten passt erstellen muss?!
Ich muss sagen, dass ich nicht ganz verstehe, was du hier fragen möchtest. Was meinst du in diesem Kontext mit synchronisieren?
wanderameise schrieb:
direkt noch eine frage: Kann ich folgende Schreibweise irgendwie verkürzen, zb. die Methode RecordSentEvent irgendwie mit in die 2. Zeile einbinden?
public delegate void RecordFlashProgress();
public event RecordFlashProgress _RecordFlashProgress;
// würde gerne die obere zeile und den unteren Methodenaufruf verkürzt darstellen, ist das möglich?
public void RecordSentEvent()
{
if (_RecordFlashProgress != null)
{
_RecordFlashProgress();
}
}
Nein: http://blogs.msdn.com/b/csharpfaq/archive/2004/03/19/93082.aspx
Es gibt allerdigns einen Workaround. Man kann einfach immer bereits einen no-op Handler zuweisen. Also:
public delegate void RecordFlashProgress();
public event RecordFlashProgress _RecordFlashProgress = delegate{};
// No-op Handler ^^^^^^^^^^
public void RecordSentEvent()
{
_RecordFlashProgress();
}
Grüssli
NullBockException schrieb:
.. muss ich woll nen spezillen IFormatProvider implementieren!?
Es gäbe da NumberFormatInfo:
NumberFormatInfo nfi=new NumberFormatInfo();
nfi.NumberDecimalDigits=2;
nfi.NumberDecimalSeparator=".";
nfi.NumberGroupSeparator="";
decimal blupp=12.95m;
string bla=blupp.ToString(nfi);
habe es hinbekommen:
var assembly = System.Reflection.Assembly.LoadFrom(@"c:\assembly.dll");
var type = assembly.GetType("namespace.Klassenname");
object instance = Activator.CreateInstance(type);
danke