Ich lerne Socket-Programmierung und ich habe folgende Funktion:
%Vor%und so wird der Callback gesetzt:
%Vor%Das Problem ist, dass ich ein anderes Argument an OnDataReceived Callback-Funktion übergeben muss, wie kann ich das tun? Ich versuche, einen einfachen TCP-Server zu erstellen, und ich muss verfolgen, von welchem Client die Daten stammen. Irgendwelche Tipps? Danke!
Ich gehe davon aus, dass Sie System.Net.Sockets.Socket
hier verwenden. Wenn Sie sich die Überladungen von BeginReceive ansehen, werden Sie sehen der Parameter object
(benannter Zustand). Sie können einen willkürlichen Wert als diesen Parameter übergeben und er wird zu Ihrem AsyncCallback
-Aufruf zurückfließen. Sie können dann auf sie zugreifen, indem Sie die AsyncState
-Eigenschaft des IAsyncResult
-Objekts verwenden, das an Ihren Callback übergeben wurde. ZB;
Wenn Sie BeginReceive
aufrufen, können Sie object
als letzten Parameter übergeben. Das gleiche Objekt wird Ihrem Callback über die IAsyncResult
-Eigenschaft von AsyncState
zur Verfügung gestellt.
Tags und Links c# arguments function asynccallback