C# 代码编写web服务器
时间: 2023-12-11 11:03:43 浏览: 38
以下是使用C#编写Web服务器的基本步骤:
1.创建一个TcpListener对象,该对象将侦听传入的连接请求。
2.使用AcceptTcpClient方法接受传入的连接请求,并创建一个TcpClient对象来处理连接。
3.使用NetworkStream对象读取和写入数据。
4.解析HTTP请求,包括请求方法,请求路径和请求头。
5.根据请求路径确定要提供的内容,并将内容作为HTTP响应发送回客户端。
下面是一个简单的C# Web服务器示例,它可以响应GET请求并返回HTML内容:
```csharp
using System;
using System.IO;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
static void Main(string[] args)
{
TcpListener listener = new TcpListener(IPAddress.Any, 8080);
listener.Start();
Console.WriteLine("Server started on port 8080");
while (true)
{
TcpClient client = listener.AcceptTcpClient();
Console.WriteLine("Client connected");
NetworkStream stream = client.GetStream();
StreamReader reader = new StreamReader(stream);
StreamWriter writer = new StreamWriter(stream);
string request = reader.ReadLine();
Console.WriteLine("Request: " + request);
string[] tokens = request.Split(' ');
string method = tokens[0];
string path = tokens[1];
if (method == "GET")
{
if (path == "/")
{
writer.WriteLine("HTTP/1.0 200 OK");
writer.WriteLine("Content-Type: text/html");
writer.WriteLine();
writer.WriteLine("<html><body><h1>Hello, world!</h1></body></html>");
}
else
{
writer.WriteLine("HTTP/1.0 404 Not Found");
}
}
else
{
writer.WriteLine("HTTP/1.0 501 Not Implemented");
}
writer.Flush();
client.Close();
Console.WriteLine("Client disconnected");
}
}
}
```