Написание c # клиент / сервер - PullRequest
4 голосов
/ 05 июня 2009

Я хотел бы написать сервер c #, который будет действовать примерно как сервер чата (клиенты подключены некоторое время, одно и то же сообщение может быть отправлено многим клиентам, ....).

Мне было интересно, можете ли вы дать мне несколько подсказок для начала (какая архитектура (потоки по клиентам / iocp / asynchronous / ...), которая позволит хорошо масштабироваться (должна быть способна обрабатывать тысячи одновременных соединений) ).

Ответы [ 4 ]

2 голосов
/ 05 июня 2009

Вот пример использования WCF: http://www.codeproject.com/KB/WCF/WCFWPFChat.aspx

Надеюсь, вам не придется иметь дело с необработанными сокетами при использовании WCF, было бы интересно посмотреть, сможет ли WCF обрабатывать тысячи соединений, хотя ...

2 голосов
/ 05 июня 2009

Вот учебник, который поможет вам хорошо начать.

Похоже, что он использует многопоточную реализацию, поэтому он должен хорошо масштабироваться.

Создание сервера чата и клиента чата

1 голос
/ 06 июня 2009

Если вам нужна масштабируемость, о которой вы говорите, IOCP - единственный путь.

Однако следует избегать некоторых подводных камней, поэтому прочитайте мой подробный ответ на: Как написать масштабируемый сервер на основе Tcp / Ip вместе с принятым ответом на тот же вопрос.

0 голосов
/ 05 июня 2009

Это может быть хорошим местом для начала: http://www.dreamincode.net/forums/showtopic33396.htm

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