Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.02.2012, 14:13   #1
Effractor
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 24
По умолчанию C# сетевое программирование

Доброго времени суток ! Мне нужно написать чат на C#, погуглил нашел примеры, но я ничего не понял. Можете посоветовать какую-нибудь книгу или же статью, где это все подробно рассказывается. Заранее спасибо!
Effractor вне форума Ответить с цитированием
Старый 11.02.2012, 01:03   #2
dampirik
Форумчанин
 
Регистрация: 02.07.2009
Сообщений: 722
По умолчанию

Кури - msdn tcpclient + ну и чтобы все хорошо было - потоки...
А коли примеры нашел и не чего не понял, то либо пример плохой, либо стоит подтянуть знания...
Работа примерна следующая (много клиентов):
Сервер:
подключается клиент, создается поток и записываете его в список клиентов.
получаем сообщение от клиента, рассылаем по списку остальным.
Клиент: отсылаемм и принимаем сообщения ;-)
dampirik вне форума Ответить с цитированием
Старый 11.02.2012, 07:40   #3
Руслантус
Наркоман самоучка
Форумчанин
 
Аватар для Руслантус
 
Регистрация: 22.07.2007
Сообщений: 276
По умолчанию

Есть неплохая книга - Сетевое программирование на .NET 3.5
#include <мозг.h>
Руслантус вне форума Ответить с цитированием
Старый 11.02.2012, 14:44   #4
Effractor
Пользователь
 
Регистрация: 10.02.2012
Сообщений: 24
По умолчанию

В C++ Builder все просто, но в C# все так запутанно !
Effractor вне форума Ответить с цитированием
Старый 18.02.2012, 13:47   #5
hitman12
Пользователь
 
Аватар для hitman12
 
Регистрация: 20.09.2009
Сообщений: 88
По умолчанию

Цитата:
Сообщение от Effractor Посмотреть сообщение
В C++ Builder все просто, но в C# все так запутанно !
Да ладно тебе ничего там не запутано) Просто нужно разобраться сам пишу диплом по сетевому программированию на C#) очень хорошая книга которая мне очень помогла называется "Net. Сетевое программирование для профессионалов"
hitman12 вне форума Ответить с цитированием
Старый 20.02.2012, 22:11   #6
GamerZAV
Пользователь
 
Регистрация: 20.02.2012
Сообщений: 10
Смех

Я сам писал чат на .Net! Лови простой пример с чатом в консоли!

Если заинтересует могу прислать оконную версию
Вложения
Тип файла: rar Chat.rar (74.3 Кб, 133 просмотров)

Последний раз редактировалось GamerZAV; 21.02.2012 в 07:15.
GamerZAV вне форума Ответить с цитированием
Старый 22.03.2012, 22:24   #7
gnesenka
Новичок
Джуниор
 
Регистрация: 22.03.2012
Сообщений: 1
По умолчанию

Привет,а можешь скинуть оконную версию чата??? очень надо)))
gnesenka вне форума Ответить с цитированием
Старый 23.03.2012, 14:27   #8
lomaster66
Новичок
Джуниор
 
Регистрация: 12.05.2010
Сообщений: 2
По умолчанию

Здравствуйте! PLEASE HELP!!! Только начал изучать C# и решил написать серверное приложение(консольный вариант). Имеются 2 потока : 1-для прослушивания присоединяющихся клиентов. Из него запускается 2-й поток для чтения сообщений от клиентов.
Программа нормально обрабатывает запросы от клиентов и должна корректно завершаться после ввода в окно сервера команды "Exit". Но она "висит" до тех пор , пока последний клиент не отсоединиться. Я понимаю, что "виноват" цикл while(true) в методе чтения данных от клиентов. Ни как не могу решить эту проблемму : выйти из цикла while(true) из другого потока ((( Прошу подскажите.
Пример кода сервера для VS2010 прилагаю. Клиент для проверки писал на Delphi, в прочем думаю можно брать любой и коннектится на порт 2860
Вложения
Тип файла: rar TCPServerClass.rar (28.6 Кб, 32 просмотров)

Последний раз редактировалось lomaster66; 23.03.2012 в 14:31.
lomaster66 вне форума Ответить с цитированием
Старый 24.03.2012, 02:22   #9
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
выйти из цикла while(true) из другого потока ((( Прошу подскажите.
1) Программа в 3 потока
а) основной поток (консолька)
б) поток принимающий клиентов и записывающий каждый новый поток "в" в список
в) поток осуществляющий сам обмен информации с клиентом, while (STOP == false) {}
Создаете глобальную переменную bool STOP Ну и ещё конечно про блокирущие и неблокирующие стоит почитать.
Lime вне форума Ответить с цитированием
Старый 25.03.2012, 02:36   #10
lomaster66
Новичок
Джуниор
 
Регистрация: 12.05.2010
Сообщений: 2
По умолчанию

Цитата:
Сообщение от Lime Посмотреть сообщение
1) Программа в 3 потока
в) поток осуществляющий сам обмен информации с клиентом, while (STOP == false) {}
Создаете глобальную переменную bool STOP
В том - то и дело ! Имеется переменная public static bool ThL объявленная в "слушаущем" классе которая и должна отсанавливать прослушивание и чтение данных в сокетах, но она у меня ни как не влияетна процесс выполнения программы ((
Если не трудно посмотрите исходный код программы и скажите что можно исправить
Вложения
Тип файла: rar TCPServerClass-24.03.rar (27.0 Кб, 18 просмотров)
lomaster66 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Сетевое программирование на Си kilgoreq Общие вопросы C/C++ 0 16.04.2011 00:07
Сетевое программирование Armatus Обсуждение статей 16 01.12.2010 09:57
низкоуровневое сетевое программирование vov4ara Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 5 16.11.2010 07:19
Сетевое программирование Тунец Помощь студентам 4 09.07.2009 00:07
Сетевое программирование Winnows-32 Помощь студентам 1 01.12.2008 07:16