Я работаю в пакетной системе (UDP или TCP, в любом случае это нормально), но я пришел к выводу, что моя текущая (TCP) система действительно хороша.
По сути, я отправляюпакет, который выглядит следующим образом:
string packet = "LOGIN_AUTH;TRUE"
IPAddress target = IPAddress.Parse(endPoint);
// Send packet
Когда я получаю пакет в своем клиенте, я использую его для определения типа пакета:
string[] splitPacket = packet.Split(';');
if (splitPacket[0] == "LOGIN_AUTH" && splitPacket[1] == "TRUE")
authLogin(packet); //Does stuff like loading the next screen
Но я уверен, что должно бытьлучший способ сделать это из-за этой темы:
http://social.msdn.microsoft.com/forums/en-US/netfxnetcom/thread/79660898-aeee-4c7b-8cba-6da55767daa1/ (сообщение 2)
Мне просто интересно, может ли кто-нибудь дать мне толчок в правильном направлениио том, что я должен классифицировать пакеты так, чтобы это было проще для глаз.
Заранее спасибо.
Редактировать: Я провел некоторое исследование, но не могу найти решение для своегопроблема в WCF.Итак, еще раз, каков наилучший способ создания структуры пакета и как ее использовать?
Я не хочу воссоздавать протокол, просто что-то вроде этого:
public string sepChar = ";"
public static struct loginPacket
{
string type;
string username;
string password;
}
public void reqLogin()
{
lock (_locker) //Need to make it thread-safe in this case
{
loginPacket.type = "login";
loginPacket.username = "username";
loginPacket.password = "password;
sendPacket(loginPacket);
}
}
public void sendPacket(string packet)
{
// Script to send packet using the struct information
}
Надеюсь, это достаточно подробно.