1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52
| System.Net.Sockets.Socket x = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
x.Bind(new System.Net.IPEndPoint(IPAddress.Parse("127.0.0.1"), 8800));
x.Listen(100);
while (true)
{
//ecoute le navigateur
richTextBox1.Text += "en attente..." + Environment.NewLine;
richTextBox1.Select(richTextBox1.Text.Length - 2, 1);
Application.DoEvents();
System.Net.Sockets.Socket y = x.Accept();
while (y.Available <= 0)
{ }
byte[] b = new byte[y.Available];
richTextBox1.Text += "reception du navigateur..." + Environment.NewLine;
richTextBox1.Select(richTextBox1.Text.Length - 2, 1);
Application.DoEvents();
while (y.Available > 0)
{
y.Receive(b);
}
//transmet au serveur
richTextBox1.Text += "transmission au serveur..." + Environment.NewLine;
richTextBox1.Select(richTextBox1.Text.Length - 2, 1);
Application.DoEvents();
System.Net.Sockets.Socket z = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
string[] header = System.Text.Encoding.UTF8.GetString(b).Split(Environment.NewLine.ToCharArray());
string host = string.Empty;
for(int i=0;i<header.Length;i++)
{
if (header[i].ToLowerInvariant().Contains("host:"))
{host = header[i];break;}
}
host = host.Substring(5).Trim();
z.Connect(host, 80);
z.Send(b);
//ecoute la reponse du serveur
//System.Net.Sockets.Socket w = z.Accept();
while (z.Available <= 0)
{ }
byte[] b2 = new byte[z.Available];
richTextBox1.Text += "reception du serveur" + Environment.NewLine;
richTextBox1.Select(richTextBox1.Text.Length - 2, 1);
Application.DoEvents();
while (z.Available > 0)
{
z.Receive(b2);
}
richTextBox1.Text += "transmission au navigateur" + Environment.NewLine;
richTextBox1.Select(richTextBox1.Text.Length - 2, 1);
Application.DoEvents();
y.Send(b2);
} |
Partager