Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Чат через интернет

1.9K
28 апреля 2008 года
tva94
115 / / 01.05.2007
Вообщем простой чат пашуший в локалке я могу написать. А сейчас хочу чат через интернет. Да кажись фсе до простого просто. Одна проблема: непостоянный IP адрес. Как я могу определить хоть адрес своего компа?
В первом чате я использовал TCPClient и TCPListner. Но для них надо адрес. И может какой-то человек знает, как я могу организовать чат в инете без TCP?

Если вас не затруднит, можно текст этой программы

C#
241
02 мая 2008 года
Sanila_san
1.6K / / 07.06.2005
Читать базовую теорию сетей и стека TCP/IP, MSDN, и копать в направлении System.Net и System.Net.IPEndPoint. Дам несколько намёков: динамически формируемый адрес выясняется при помощи DNS, отсутствие DNS можно обойти наличием выделенного сервера с постоянным IP, наличие логин-сервера обязательно даже у таких сервисов, как Skype. Стало быть, надо продумывать архитектуру системы и логин-сервера в отдельности. По уму, без него трудно обойтись даже в локалке, хотя, конечно, возможно - но опять же, только в локальной сети.

Чат в Инете без ТСР можно организовать при помощи UDP, но это не решит проблему непостоянства адреса.

Цитата:
Если вас не затруднит, можно текст этой программы

Такие вопросы задают в разделе для студентов.

17K
02 мая 2008 года
LostAngel
7 / / 10.10.2006
эээ... мона сделать так, что при получении ип адреса пользователь его руками вбивал в нужное окошко и только потом тянулся в чат. криво, но зато легко и не так много времени займет на осуществление.
241
02 мая 2008 года
Sanila_san
1.6K / / 07.06.2005
Цитата:
сделать так, что при получении ип адреса пользователь его руками вбивал в нужное окошко и только потом тянулся в чат. криво, но зато легко и не так много времени займет на осуществление.

LostAngel, так делать не надо. Пользователь так делать точно не будет - хотя бы и потому, что записывать адрес надо без ошибок, он каждый раз разный, и что самое интересное - его надо узнать и сообщить. Теперь смотри: мой комп находится в домашней сетке и имеет адрес 192.168.1.2, комп сестры имеет адрес 192.168.1.3, а комп моего друга находится в ADSL-сети провайдера, и имеет адрес 10.0.0.221. Что должен вписать друг, если хочет поговорить со мной? А что вписывать, если с сестрицей? А адреса активных компов я ему при помощи SMS пришлю, так? ;)

Я бы сделал так. необходим выделенный логин-сервер с известным адресом, и суть его в том, чтобы на время сессии пользователя хранить EndPoint к нему, чтобы потом передавать как параметр при запросе другого клиента на подключение. Но это не очень хорошее решение. Мне более надёжным представляется решение на основе P2P-протокола, хоть промышленного, хоть самописного.

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог