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 版。

arrow
arrow

    Johnson峰 發表在 痞客邦 留言(0) 人氣()