Visual Studio 2008 - Socket C# - Reconnect

15/05/2009 - 17:31 von Martin Greul | Report spam
Hallo,

wie würdet Ihr folgendes lösen?

Aufgabe:
Socket - Client soll nur bei ApplikationsStart geöffnet werden
Socket - Client soll nur bei ApplikationsEnde geschlossen werden
Wenn der Server nicht mehr antwortet, wenn es Request gesendet wird,
soll automatisch der Socket geschlossen und wieder verbunden werden.
(Kann es sein dass der Socket automatisch zu macht?
Kann man die Zeit irgendwo einstellen? )


4 Bytes Lànge des Telegramms | Telegramm

Danke für Tipps

Grüße Martin


void SendTelegram(Socket socket, string telegramm){

using(NetworkStream stream = new NetworkStream(socket)){
BinaryWriter writer = new BinaryWriter(stream);

byte[] data = System.Text.Encoding.UTF8.GetBytes(telegramm);

int lengthInNetworkOrder IPAddress.HostToNetworkOrder(data.Length);

writer.Write(lengthInNetworkOrdr);
writer.Write(data);
}

}

string ReadTelegram(Socket socket){

using(NetworkStream stream = new NetworkStream(socket)){
BinaryReader reader = new BinaryReader(stream);

int lengthInHostOrder IPAddress.NetworkToHostOrder(reader.ReadInt32());

byte[] data = reader.ReadBytes(lengthInHostOrder);

return System.Text.Encoding.UTF8.GetString(data);
}

}
 

Lesen sie die antworten

#1 Martin Greul
20/05/2009 - 13:41 | Warnen spam
Hallo,
4 Bytes Lànge des Telegramms | Telegramm

Danke für Tipps

Grüße Martin


void SendTelegram(Socket socket, string telegramm){

using(NetworkStream stream = new NetworkStream(socket)){
BinaryWriter writer = new BinaryWriter(stream);

byte[] data = System.Text.Encoding.UTF8.GetBytes(telegramm);

int lengthInNetworkOrder > IPAddress.HostToNetworkOrder(data.Length);

writer.Write(lengthInNetworkOrdr);
writer.Write(data);
}

}

string ReadTelegram(Socket socket){

using(NetworkStream stream = new NetworkStream(socket)){
BinaryReader reader = new BinaryReader(stream);

int lengthInHostOrder > IPAddress.NetworkToHostOrder(reader.ReadInt32());

byte[] data = reader.ReadBytes(lengthInHostOrder);

return System.Text.Encoding.UTF8.GetString(data);
}

}


mein Problem ist, dass hier die Lànge nicht korrekt erfasst wird.
int lengthInHostOrder IPAddress.NetworkToHostOrder(reader.ReadInt32());
Kennt jemand ein àhnliches Protokoll bzw. gibt es ein Beispielprojekt zum
downloaden.

Viele Grüße Martin

Ähnliche fragen