欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

C#使用TCP協(xié)議實現(xiàn)數(shù)據(jù)發(fā)送和接受的方法

 更新時間:2024年04月16日 10:38:22   作者:妮妮學代碼  
這篇文章主要介紹了c#使用TCP協(xié)議實現(xiàn)數(shù)據(jù)發(fā)送和接受,使用TCP協(xié)議實現(xiàn)數(shù)據(jù)的發(fā)送和接受包括客戶端和服務端兩個部分,本文通過實例代碼介紹的非常詳細,需要的朋友可以參考下

c#使用TCP協(xié)議實現(xiàn)數(shù)據(jù)發(fā)送和接受

使用TCP協(xié)議實現(xiàn)數(shù)據(jù)的發(fā)送和接受包括客戶端和服務端兩個部分;

1. 服務端代碼如下所示:

using System;
using System.Net;
using System.Net.Sockets;
using System.Text;
class Program
{
    static void Main()
    {
        // 設置服務器IP地址和端口號
        IPAddress ip = IPAddress.Parse("127.0.0.1");//寫入實際的IP地址
        int port = 8888;
        // 創(chuàng)建TCP監(jiān)聽器
        TcpListener listener = new TcpListener(ip, port);
        listener.Start();
        Console.WriteLine("等待客戶端連接...");
        // 接受客戶端連接
        TcpClient client = listener.AcceptTcpClient();
        Console.WriteLine("客戶端已連接");
        // 獲取網(wǎng)絡流
        NetworkStream stream = client.GetStream();
        // 讀取客戶端發(fā)送的數(shù)據(jù)
        byte[] buffer = new byte[1024];
        int bytesRead = stream.Read(buffer, 0, buffer.Length);
        string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead);
        Console.WriteLine("接收到數(shù)據(jù): " + dataReceived);
        // 向客戶端發(fā)送數(shù)據(jù)
        string dataToSend = "Hello, Client!";
        byte[] dataBytes = Encoding.ASCII.GetBytes(dataToSend);
        stream.Write(dataBytes, 0, dataBytes.Length);
        Console.WriteLine("已發(fā)送數(shù)據(jù): " + dataToSend);
        // 關閉連接
        stream.Close();
        client.Close();
        listener.Stop();
    }
}

2. 客戶端代碼:

using System;
using System.Net.Sockets;
using System.Text;
class Program
{
    static void Main()
    {
        // 設置服務器IP地址和端口號
        string serverIP = "127.0.0.1";
        int serverPort = 8888;
        // 創(chuàng)建TCP客戶端
        TcpClient client = new TcpClient();
        client.Connect(serverIP, serverPort);
        Console.WriteLine("已連接到服務器");
        // 獲取網(wǎng)絡流
        NetworkStream stream = client.GetStream();
        // 向服務器發(fā)送數(shù)據(jù)
        string dataToSend = "Hello, Server!";
        byte[] dataBytes = Encoding.ASCII.GetBytes(dataToSend);
        stream.Write(dataBytes, 0, dataBytes.Length);
        Console.WriteLine("已發(fā)送數(shù)據(jù): " + dataToSend);
        // 讀取服務器發(fā)送的數(shù)據(jù)
        byte[] buffer = new byte[1024];
        int bytesRead = stream.Read(buffer, 0, buffer.Length);
        string dataReceived = Encoding.ASCII.GetString(buffer, 0, bytesRead);
        Console.WriteLine("接收到數(shù)據(jù): " + dataReceived);
        // 關閉連接
        stream.Close();
        client.Close();
    }
}

總結(jié):上述示例使用服務器端創(chuàng)建一個TCP監(jiān)聽器,等待客戶端連接。當客戶端連接后,服務器端從客戶端接收數(shù)據(jù),并向客戶端發(fā)送數(shù)據(jù)??蛻舳藙t連接到服務器,向服務器發(fā)送數(shù)據(jù),并接收服務器發(fā)送的數(shù)據(jù)。

到此這篇關于c#使用TCP協(xié)議實現(xiàn)數(shù)據(jù)發(fā)送和接受的文章就介紹到這了,更多相關c# TCP協(xié)議內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論