1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| this.Socket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
this.Socket.Connect(new IPEndPoint(Dns.GetHostEntry(IPAddress.Parse("127.0.0.1")).AddressList[0], 10002));
List<Socket> Read = new List<Socket>();
List<Socket> Write = new List<Socket>();
Login L = new Login(Environment.UserName, UserType.Client, String.Empty);
this.Worker.Enqueue(Packet.Serialize(new Packet(0, Commande.Login, L)));
while (true)
{
Read.Clear();
Write.Clear();
Read.Add(this.Socket);
if (this.Worker.IsEmpty() == false)
Write.Add(this.Socket);
Socket.Select(Read, Write, null, 5);
if (Read.Count > 0)
this.Read();
if (Write.Count > 0)
{
Byte[] Message = this.Worker.Dequeue();
this.Socket.Send(Message);
}
} |