TcpClient и TcpServer - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток) Сижу, пытаюсь написать tcp сервер, а к нему паралельно клиент... Как реализовать на сокетах - понятно))) Включаем листенер, присоединяем клиент, забираем сокет. В клиенте аналогично... Но вот копаясь на msdn нашел что у TcpClient есть метод GetStream, который возвращает поток... Решив пойти дальше, стал искать аналогию у TcpListener, но не нашел ничего подобного) Так вот, вопрос, если я все же хочу создать потоковую передачу между сервером и клиентом(с одинаковыми возможностями на отсылку и прием), что мне для этого требуется сделать? Спасибо)

Решение задачи: «TcpClient и TcpServer»

textual
Листинг программы
  1. Код:
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using System.Net.Sockets;
  6. using System.IO;
  7. using System.Threading;
  8.  
  9. namespace урок___чат___сервер
  10. {
  11.     class Program
  12.     {
  13.         //для оздания отдельного процесса
  14.         public class Connection
  15.         {
  16.             public TcpClient cl;
  17.             public void Work()
  18.             {
  19.                 NetworkStream NWS = cl.GetStream();
  20.                 BinaryReader R = new BinaryReader(NWS); //принятие
  21.                 BinaryWriter W = new BinaryWriter(NWS); //отправка
  22.                 // тут что - то ваше
  23.                 //т.е. тут собственно команды для работы с клиентом
  24.              }
  25.         }
  26.         //многопроцессорная работа
  27.         static void Main(string[] args)
  28.         {
  29.             Console.WriteLine("Reliable (c) Server, the version 1.0.0.0"); //не стоит сюда смотреть ;)
  30.  
  31.             int port = Convert.ToInt16(File.ReadAllText("main\\config.txt")); //взяли порт из файла
  32.             TcpListener l = new TcpListener(port); //и на нем у нас висит сервер
  33.             l.Start(); //серер запущен
  34.             Console.WriteLine("The server is started..."); //уведомили об этом
  35.  
  36.             while (true)
  37.             {
  38.                 TcpClient cl = l.AcceptTcpClient();
  39.                 Connection c = new Connection();
  40.                 c.cl = cl;
  41.                 Thread t = new Thread(new ThreadStart(c.Work));
  42.                 t.IsBackground = false;
  43.                 t.Start();
  44.             }
  45.         }
  46.     }
  47. }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 3.889 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут