TcpClient и TcpServer - C#
Формулировка задачи:
Доброго времени суток)
Сижу, пытаюсь написать tcp сервер, а к нему паралельно клиент...
Как реализовать на сокетах - понятно))) Включаем листенер, присоединяем клиент, забираем сокет.
В клиенте аналогично...
Но вот копаясь на msdn нашел что у TcpClient есть метод GetStream, который возвращает поток...
Решив пойти дальше, стал искать аналогию у TcpListener, но не нашел ничего подобного)
Так вот, вопрос, если я все же хочу создать потоковую передачу между сервером и клиентом(с одинаковыми возможностями на отсылку и прием), что мне для этого требуется сделать?
Спасибо)
Решение задачи: «TcpClient и TcpServer»
textual
Листинг программы
- Код:
- using System;
- using System.Collections.Generic;
- using System.Text;
- using System.Net.Sockets;
- using System.IO;
- using System.Threading;
- namespace урок___чат___сервер
- {
- class Program
- {
- //для оздания отдельного процесса
- public class Connection
- {
- public TcpClient cl;
- public void Work()
- {
- NetworkStream NWS = cl.GetStream();
- BinaryReader R = new BinaryReader(NWS); //принятие
- BinaryWriter W = new BinaryWriter(NWS); //отправка
- // тут что - то ваше
- //т.е. тут собственно команды для работы с клиентом
- }
- }
- //многопроцессорная работа
- static void Main(string[] args)
- {
- Console.WriteLine("Reliable (c) Server, the version 1.0.0.0"); //не стоит сюда смотреть ;)
- int port = Convert.ToInt16(File.ReadAllText("main\\config.txt")); //взяли порт из файла
- TcpListener l = new TcpListener(port); //и на нем у нас висит сервер
- l.Start(); //серер запущен
- Console.WriteLine("The server is started..."); //уведомили об этом
- while (true)
- {
- TcpClient cl = l.AcceptTcpClient();
- Connection c = new Connection();
- c.cl = cl;
- Thread t = new Thread(new ThreadStart(c.Work));
- t.IsBackground = false;
- t.Start();
- }
- }
- }
- }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д