引言C作为一种强大的编程语言,在网络编程领域有着广泛的应用。本文将深入解析C网络编程的核心概念,并通过实战案例帮助读者轻松掌握网络编程技巧。一、C网络编程基础1.1 网络编程概述网络编程是指利用计算机...
C#作为一种强大的编程语言,在网络编程领域有着广泛的应用。本文将深入解析C#网络编程的核心概念,并通过实战案例帮助读者轻松掌握网络编程技巧。
网络编程是指利用计算机通过网络进行数据交换和通信的技术。在C#中,网络编程主要依赖于System.Net命名空间下的类库。
using System;
using System.Net;
using System.Net.Sockets;
public class TcpServer
{ public static void Main() { IPAddress ipAddr = IPAddress.Any; int port = 8000; TcpListener listener = new TcpListener(ipAddr, port); listener.Start(); Console.WriteLine("服务器启动,等待客户端连接..."); while (true) { TcpClient client = listener.AcceptTcpClient(); Console.WriteLine("客户端连接成功。"); // 处理客户端请求 } }
}using System;
using System.Net.Sockets;
public class TcpClient
{ public static void Main() { IPAddress ipAddr = IPAddress.Parse("127.0.0.1"); int port = 8000; TcpClient client = new TcpClient(ipAddr, port); Console.WriteLine("连接到服务器..."); // 发送数据 NetworkStream stream = client.GetStream(); byte[] data = System.Text.Encoding.ASCII.GetBytes("Hello, Server!"); stream.Write(data, 0, data.Length); // 接收数据 data = new byte[1024]; int bytesRead = stream.Read(data, 0, data.Length); string received = System.Text.Encoding.ASCII.GetString(data, 0, bytesRead); Console.WriteLine("接收到的数据:{0}", received); // 关闭连接 client.Close(); }
}using System;
using System.Net;
using System.Net.Sockets;
public class UdpServer
{ public static void Main() { IPEndPoint localEp = new IPEndPoint(IPAddress.Any, 8000); UdpListener udpListener = new UdpListener(localEp); udpListener.Start(); Console.WriteLine("UDP服务器启动,等待客户端连接..."); while (true) { IPEndPoint remoteEp = new IPEndPoint(IPAddress.Any, 0); byte[] data = udpListener.Receive(ref remoteEp); string received = System.Text.Encoding.ASCII.GetString(data); Console.WriteLine("接收到的数据:{0}", received); // 发送数据 byte[] sendBytes = System.Text.Encoding.ASCII.GetBytes("Hello, Client!"); udpListener.Send(sendBytes, sendBytes.Length, remoteEp); } }
}using System;
using System.Net;
using System.Net.Sockets;
public class UdpClient
{ public static void Main() { IPEndPoint localEp = new IPEndPoint(IPAddress.Any, 8000); UdpClient udpClient = new UdpClient(localEp); IPEndPoint remoteEp = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 8000); byte[] data = System.Text.Encoding.ASCII.GetBytes("Hello, Server!"); udpClient.Send(data, data.Length, remoteEp); // 接收数据 data = udpClient.Receive(ref remoteEp); string received = System.Text.Encoding.ASCII.GetString(data); Console.WriteLine("接收到的数据:{0}", received); udpClient.Close(); }
}using System;
using System.Net.Http;
using System.Threading.Tasks;
public class HttpClient
{ public static async Task Main() { HttpClient client = new HttpClient(); string url = "http://www.example.com"; HttpResponseMessage response = await client.GetAsync(url); string content = await response.Content.ReadAsStringAsync(); Console.WriteLine("响应内容:{0}", content); }
}using System;
using System.Net;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;
public class HttpServer
{ public static async Task Main() { HttpListener listener = new HttpListener(); listener.Prefixes.Add("http://localhost:8000/"); listener.Start(); while (true) { var context = await listener.GetContextAsync(); if (context.Request.Method == "GET") { context.Response.ContentType = "text/html"; context.Response.StatusCode = 200; context.Response.Headers.Add("Content-Length", new StringContent("Hello, World!").ContentLength.ToString()); await context.Response.Content.WriteAsync("Hello, World!"); } } }
}通过本文的实战案例解析,相信读者已经对C#网络编程有了更深入的了解。在实际开发中,网络编程是不可或缺的一部分,希望本文能帮助读者轻松掌握网络编程技巧。