C # отправить / получить из сокета - PullRequest
0 голосов
/ 24 марта 2011

Я хочу отправлять и получать некоторые данные с моего сервера, но я не знаю, как это сделать ...

В основном я хочу: Отправить: "некоторую строку" Кому: IP: 10.100.200.1 Порт: 30000

Получить / прочитать ответ

Может ли кто-нибудь дать мне какой-нибудь базовый пример или указать простой (рабочий) учебник?

Ответы [ 2 ]

1 голос
/ 24 марта 2011

Простой синхронный 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();
    }

}
0 голосов
/ 24 марта 2011

Ваш вопрос немного широк, и на него легко можно найти, прибегая к помощи.

То, что вы ищете, называется Socket.Но в вашем случае я бы использовал TcpClient, поскольку это немного облегчает обработку.

Google "TcpClient c #", и вы найдете несколько хороших примеров.Тогда возвращайтесь с более конкретными вопросами, если вы не можете заставить что-то работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...