Как написать локальный чат?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Как написать локальный чат?

Сообщение zHackLeX » 04.03.2005 (Пт) 12:59

А правда, можо ли на VB6 написать чат, толбко не по комнатному
клиент-сервер типу, а общий, когда кто-то запускает чат, он сразу видит, кто ещё в сети запустил чат.
как?
Через API? Или через Directplay?
?
заранее спасибо.
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 04.03.2005 (Пт) 13:01

Через Winsock :D

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 04.03.2005 (Пт) 15:18

Вобщето все чаты клиент-сервер. Уточни что ты хочешь сделать подскажу!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.03.2005 (Пт) 15:20

step писал(а):Вобщето все чаты клиент-сервер.

Кто тебе это сказал?
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 04.03.2005 (Пт) 15:48

вот именно: у меня в сети (мой собственный, сам написал :D ) работает по принципу клиент-клиент, без всякого сервера!
вот так вот!

VAC
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 03.03.2002 (Вс) 3:32
Откуда: Russia

Сообщение VAC » 04.03.2005 (Пт) 16:23

Есть такой чат fChat называется...
Только в сети без сервера он работает посылая броадкасты. Если сеть большая и пользователей много, такой чат может создать много проблем постоянно рассылая броадкасты. В нашей сети тоже недавно избавились от fChata залочив на свитчах порт по которому он работает.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.03.2005 (Пт) 16:29

Таких чатов довольно много.
Есть даже умные, которые используют Broadcast только для регистрации себя и выборов/перевыборов сервера (после выбора сервера работают как обычный клиент-сервер, но сервером может стать любой клиент).
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 04.03.2005 (Пт) 16:40

зачем вобщем использовать Broadcast? (свичи и хабы их "режут", не всё окнечно)

я делаю так:
отсылаю на все возможные адреса своей подсети пакеты регастриции.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.03.2005 (Пт) 16:57

А ты знаешь сколько всех возможных адресов в подсети класса B?
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 04.03.2005 (Пт) 17:01

очень много...но в моей локальной сети не так уж и много.
я пересылаю пакеты под адресам:
мой адрес a.b.c.d
посылаемые пакеты a.b.c.X, где x от 1 to 254 (если x=255, это и есть шировещательный пакет)

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 04.03.2005 (Пт) 17:02

Думаешь, от такого способа флуда меньше, чем при броадкасте? Этот способ куда хуже.
Lasciate ogni speranza, voi ch'entrate.

Sirik
Perspicaz
Perspicaz
Аватара пользователя
 
Сообщения: 2280
Зарегистрирован: 19.02.2004 (Чт) 16:09
Откуда: Бердичев, Украина

Сообщение Sirik » 04.03.2005 (Пт) 17:09

поясни почему?

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 05.03.2005 (Сб) 8:09

alibek писал(а):
step писал(а):Вобщето все чаты клиент-сервер.

Кто тебе это сказал?


Мне ни кто не говорил, сам догадался! :wink:
Вы сами себе протеворечите, короче создаётся чат который в себе и клиент и сервак, запускается на машине1, и машине2, всё равно на машине1 будет сервак, а на машине2 клиент, или на оборот, т.е. принцип клиент-сервер сохраняется, разве не так?

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 05.03.2005 (Сб) 8:22

Sirik писал(а):вот именно: у меня в сети (мой собственный, сам написал :D ) работает по принципу клиент-клиент, без всякого сервера!
вот так вот!


Это как понять:
1 пример: т.е. ты берёшь создаёшь файл чат.txt в расшаренной папке, и все обращаются к этому файлу и читают и изменяют! Вот это чат давно о таком мечтал! :wink:
2 пример: т.е. ты конектишся к 2 компу, а он к тебе, потом 3 комп к тебе, а ты к нему, и так да бесконечности?

vvs_adm
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1492
Зарегистрирован: 03.02.2005 (Чт) 3:45
Откуда: оттуда ;)

Сообщение vvs_adm » 05.03.2005 (Сб) 8:59

2 пример: т.е. ты конектишся к 2 компу, а он к тебе, потом 3 комп к тебе, а ты к нему, и так да бесконечности?
Не, не так. Ты коннектишься к 2 компу, но он не сервер, а клиент, и к нему законнектиться нельзя. Тогда 2 комп коннектится к тебе, но ты не сервер, ты клиент, и к тебе законнектиться нельзя. Тогда ты снова пытаешься законнектиться к компу 2 ... И вот тут уже до бесконечности :lol: :lol: Мой собственный, сам написал :D

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 05.03.2005 (Сб) 9:01

Sirik писал(а):поясни почему?

Так ты 254 раза посылаешь один и тот же пакет, вместо того, чтобы послать его один раз.
Если у тебя сеть со свитчами, то пакет дойдет как положена, но процедура коммутации будет выполнена 254 раза - излишняя нагрузка на свитч.
Если у тебя сеть с хабами, то в них маршрутизации нет как класса. Хаб ретранслирует пакет на все свои порты. Т.е. реально получается, что ты 254 раза посылаешь один и тот же пакет на ВСЕ машины, подключенные к хабу (если к хабу подключен другой хаб, то это относится и к машинам на втором хабе).
Будь я админом, я бы скорее зарубил твою прогу, нежели прогу с броадкастом.

P.S. И тебя обманули насчет того, что броадкасты рубятся хабами и свитчами. Хабы этого вообще не умеют. Свитчи умеют, но так обычно никто не делает, броадкаст используется для многих полезных вещей (DHCP например). Другое дело, что броадкасты рубятся на маршрутизаторах.
Lasciate ogni speranza, voi ch'entrate.

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 05.03.2005 (Сб) 14:20

vvs_adm писал(а):Ты коннектишься к 2 компу, но он не сервер, а клиент, и к нему законнектиться нельзя. Тогда 2 комп коннектится к тебе, но ты не сервер, ты клиент, и к тебе законнектиться нельзя. Тогда ты снова пытаешься законнектиться к компу 2 ... И вот тут уже до бесконечности :lol: :lol: Мой собственный, сам написал :D


Супер! Вот описание чата с двумя клиентами! :wink:
Последний раз редактировалось step 05.03.2005 (Сб) 14:22, всего редактировалось 1 раз.

VAC
Новичок
Новичок
 
Сообщения: 26
Зарегистрирован: 03.03.2002 (Вс) 3:32
Откуда: Russia

Сообщение VAC » 05.03.2005 (Сб) 14:22

Можно послать пакет с адресом: 00-00-00-00-00-00 на порт: 9000 например.
"Умные свитчи", умеют такой пакет грохнуть...
Если порт=9000

Собственно так и борятся с такими чатами.

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 05.03.2005 (Сб) 18:36

У-у! Горячая тема, аж обжёгся!
Нет, у меня локалка. Наш Intranet Chat нас не устраивает (мало смайлов и пр.). Ну и надо сварганить чат, который использует какой-нибудь порт чтобы отослать пакет указанным адресатам.
Вообще задумка такая:
1) Создается группа адресов сети в редакторе адресов (чтобы на все не отсылать)
2) И при отправке неличного сообщения всем перечисленным отправляется пакет.

ЗЫ. В сетевом программировании я пока кофейник :(, многого не понимаю.
ЗЗЫ. А какой элемент управления лучше приспособить под чат-окно?
Чтобы со смайлами?
А механизм чата чтобы был как в Intranet-Chat.
Или даже проще.
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 06.03.2005 (Вс) 8:30

Я так думаю что лучше пиктуре бокс, потому-что можно и графику и текст вставлять!

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 06.03.2005 (Вс) 19:21

А в Richtextbox нельзя зымытить?
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)

Джеффи
Бывалый
Бывалый
 
Сообщения: 256
Зарегистрирован: 06.03.2005 (Вс) 0:26

Сообщение Джеффи » 06.03.2005 (Вс) 21:02

Народ, если не сложно подскажите где можно почитать про приложения типа клиент-сервер.

З.Ы. клиент-клиент не бывает, ведь один из них всёравно сервер 8)

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 06.03.2005 (Вс) 21:09

zHackLeX писал(а):А в Richtextbox нельзя зымутить?

Можно, но в нём графика фигово отбражается, да и контрол за собой носить надо, лучше с пиктуре бокс делай!

step
Бывалый
Бывалый
 
Сообщения: 217
Зарегистрирован: 03.08.2004 (Вт) 16:19

Сообщение step » 06.03.2005 (Вс) 21:19

Джеффи писал(а):Народ, если не сложно подскажите где можно почитать про приложения типа клиент-сервер.

З.Ы. клиент-клиент не бывает, ведь один из них всёравно сервер 8)


http://www.vbstreets.ru/VB/Articles/65986.aspx

Статья alibek

zHackLeX
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 283
Зарегистрирован: 23.10.2003 (Чт) 21:08

Сообщение zHackLeX » 13.03.2005 (Вс) 13:29

А как сделать, чтобы из pictureboxa можно было бы копировать текст, и вообще, как его туда вставлять? Не print'om же!
There is no knowledge that is not power...

X,C,A,B,C,Z,X,A,B,C,Z....
Многие ли помнят? :)


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList