ify">} [] msg=Encoding. UTF8. GetBytes (reply) ;. Send (msg); (data. IndexOf ( lt; TheEnd gt; ) gt; - 1)
{. showMessage= Сервер завершив з'єднання з клієнтом. raquo ;;
}. Sleep (10) ;. Shutdown (SocketShutdown. Both) ;. Close ();
}
} (Exception ex)
{. showMessage=ex. ToString ();
}
} static void Stop ()
{= true;
}
} class Client
{public MainForm mainForm=new MainForm (); public System. Threading. Thread clientThread; static string address; int port; Client ()
{= ThreadChat. address ;. port=ThreadChat. port;=new Thread (RunClient) ;. Start () ;. TypeLabel. Text= I'm a client, n BABY! Raquo ;;. whoI= client raquo ;;
} void RunClient ()
{
{(port);
} (Exception ex)
{. showMessage=ex. ToString ();
}
{
//mainForm. testWORKING= end raquo ;;
}
} void SendMessageFromSocket (int port)
{
//Буфер для вхідних даних [] bytes=new byte [1024]; data;
//Єднаймося з віддаленим пристроєм
//Встановлюємо віддалену точку для сокетаipHost=Dns. GetHostEntry (address); ipAddr=ipHost. AddressList [0]; ipEndPoint=new IPEndPoint (ipAddr, port); sender=new Socket (ipAddr. AddressFamily, SocketType. Stream, ProtocolType. Tcp);
//З'єднуємо сокет з віддаленою точкою. Connect (ipEndPoint); message; (ThreadChat. SyncText == false)
{= text raquo ;;
}
{(ThreadChat. youStartGame)
{= start raquo ;;. youStartGame=false;
}=MainForm. GetI (). ToString ();
}
//ThreadChat. showMessage= Сокет з'єднується з {0} + Sender. RemoteEndPoint. ToString (); [] msg=Encoding. UTF8. GetBytes (message);
//Відправляємо дані через сокетbytesSent=sender. Send (msg);
//MainForm. sendMessage=false;
//Отримуємо відповідь від сервераbytesRec=sender. Receive (bytes);=Encoding. UTF8. GetString (bytes, 0, bytesRec); (ThreadChat. SyncText == false)
{. gameText=data ;. syncText=true;
}
{(data == start ). oppStartGame=true ;. oppI=Convert. ToInt32 (data);
}. Sleep (10);
//Використовуємо рекурсію для неодноразового виклику SendMessageFromSocket () (message. IndexOf ( lt; TheEnd gt; ) == - 1) (port);
//Звільняємо сокет. Shutdown (SocketShutdown. Both) ;. Close ();
}
} class ThreadChat
{public static bool sendMessage=false; public static string showMessage= Повідомлення мережі raquo ;; public static string outMessage= lol raquo ;; public static string gameText= ada raquo ;; public static bool syncText=false; public bool youStartGame=false; volatile public bool oppStartGame=false; public static int youCar=20; public static int opponentCar=20; public static int oppI=0; public static int port=11000; public static string address= 127.0.0.1 raquo ;;
} class Program
{
/// lt; summary gt;
///Головна точка входу для програми.
/// lt;/summary gt;
[STAThread] void Main ()
{. EnableVisualStyles () ;. SetCompatibleTextRenderingDefault (false) ;. run (new MenuForm ());
}
}