C#从socket发送/接收

时间:2011-03-24 08:47:45

标签: c# sockets

我想从我的服务器发送和接收一些数据,但我不知道该怎么做......

基本上我想: 发送: “一些字符串” 至: IP:10.100.200.1 港口:30000

接收/阅读回复

有人可以给我一些基本的例子或指向一个简单的(工作)教程吗?

2 个答案:

答案 0 :(得分:1)

简单同步TcpClient发送文本字符串并接收文本字符串。

using System;
using System.IO;
using System.Net;
using System.Text;
using System.Net.Sockets;

public class SimpleTcpClient {

    public static void Main() {

        TcpClient tcpclnt = new TcpClient();            
        tcpclnt.Connect("10.100.200.1",30000);

        String textToSend = "HelloWorld!";
        Stream stm = tcpclnt.GetStream();

        ASCIIEncoding asen = new ASCIIEncoding();
        byte[] data = asen.GetBytes(textToSend);

        stm.Write(data,0,data.Length);

        //You might want to wait a bit for an answer (Thread.Sleep or simething)

        byte[] responseData = new byte[1024];
        string textRecevided = "";
        int read = 0;               
        do {  
            read = stm.Read(responseData, 0, responseData.Length);
            for (int i=0; i < read; i++)
            {
                textRecevided += (char)responseData[i];
            }           
        } while (read > 0);

        Console.Write(textRecevied);

        tcpclnt.Close();
    }

}

答案 1 :(得分:0)

你的问题有点宽泛,可以通过谷歌搜索轻松回答。

您正在寻找的东西称为Socket。但在你的情况下,我会使用TcpClient因为它使处理更容易。

Google“TcpClient c#”,你会发现一些不错的例子。如果你不能让工作有效,那就回过头来提出更具体的问题。