close
永遠傳回 Hello 的 WebServer
簡介
程式原始碼
using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.IO;
public class HttpServer
{
public static void Main()
{
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 80);
Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
newsock.Bind(ipep);
newsock.Listen(10);
while(true)
{
Socket client = newsock.Accept();
IPEndPoint clientep = (IPEndPoint) client.RemoteEndPoint;
// create a new thread and then receive message.
HttpListener listener = new HttpListener(client);
Thread thread = new Thread(new ThreadStart(listener.run));
thread.Start();
}
// newsock.Close();
}
}
public class HttpListener {
Socket socket;
public HttpListener(Socket s)
{
socket = s;
}
public void run()
{
String msg = "Hello!";
String helloMsg = @"HTTP/1.0 200 OK\nContent-Type: text/plain\nContgent-Length: "+msg.Length+"\n\n"+msg;
NetworkStream stream = new NetworkStream(socket);
StreamReader reader = new StreamReader(stream);
String header = "";
while (true)
{
String line = reader.ReadLine();
Console.WriteLine(line);
if (line.Trim().Length==0)
break;
header += line+"\n";
}
socket.Send(Encoding.UTF8.GetBytes(helloMsg));
socket.Close();
}
}
陳鍾誠 (2010年06月15日),(網頁標題) C# : 永遠傳回 Hello 的 WebServer,(網站標題) 免費電子書:C# 程式設計,2010年06月15日,取自 http://cs0.wikidot.com/helloserver ,網頁修改第 0 版。
文章標籤
全站熱搜