Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.63/30: Рейтинг темы: голосов - 30, средняя оценка - 4.63
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
1

Чат...

27.07.2009, 21:20. Показов 5941. Ответов 16
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Решил написать чат, так сказать для общего развития навыка, окно сделал без проблем, но вот как сделать чтобы приложения коннектились? В гугле лазил, хм... там написано что нужно использовать сокеты, в другой статье нашел что сокеты используют WinAPI, но я делаю при помощи дот.нета...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.07.2009, 21:20
Ответы с готовыми решениями:

Чат на c++
Хотел бы попросить, объясните мне как написать чат. Хотел бы также найти готовый, что бы посмотреть...

Чат
Подскажите куда копать... нужно простенький чат написать, написал ну очень простой, только в нем...

Чат
Здравствуйте, уважаемые программисты) Прошу помощи! Задание такое: написать схему работы клиента...

Чат на tcp/ip
Хочу написать чат на tcp/ip. Но не могу додуматься как реализовать чисто логически кое-какие...

16
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
27.07.2009, 21:25 2
обратимся к производителю:
http://msdn.microsoft.com/ru-r... ocket.aspx
0
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
27.07.2009, 21:35  [ТС] 3
Цитата Сообщение от Vourhey Посмотреть сообщение
обратимся к производителю:
http://msdn.microsoft.com/ru-r... ocket.aspx
Там я тоже был как-то не очень все понятно, поэтому тут спрашиваю, может быть кто делал и поделится опытом
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
27.07.2009, 21:36 4
BoDRbIi, там даже пример дан отправки строки по сокету. Че там может быть непонятного? что именно?
0
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
27.07.2009, 21:38  [ТС] 5
Цитата Сообщение от Vourhey Посмотреть сообщение
BoDRbIi, там даже пример дан отправки строки по сокету. Че там может быть непонятного? что именно?
Как бы сама логика... чат я так понимаю должен быть сервер-клиент? или нет?
0
Почетный модератор
7393 / 2639 / 281
Регистрация: 29.07.2006
Сообщений: 13,696
27.07.2009, 21:42 6
BoDRbIi, забудь про сервера, клиенты. ты слушаешь порт и ты на него что-то посылаешь. Либо listen/receive, либо send.
1
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
27.07.2009, 21:45  [ТС] 7
Цитата Сообщение от Vourhey Посмотреть сообщение
BoDRbIi, забудь про сервера, клиенты. ты слушаешь порт и ты на него что-то посылаешь. Либо listen/receive, либо send.
спс) картина начинает проясняться
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
27.07.2009, 21:50 8
Логика. Используем UDP (без установления соединения).
Простейший вариант.

Сервер чата.
Принимает сообщения от клиентов.
Рассылает сообщения всем клиентам.
Еще должны быть сообщения о подключении клиента к чату и об отключении.
Ведет список подключенных клиентов.

Клиент чата.
Подключается к серверу чата.
Отключается от сервера чата.
Посылает сообщение серверу.
Принимает сообщения от сервера - показывает пользователю.

Нужно расписать аккуратно протокол.
И реализовать.

Но думаю сразу что-то типа ICQ не получится
0
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
28.07.2009, 15:43  [ТС] 9
Цитата Сообщение от odip Посмотреть сообщение
Логика. Используем UDP (без установления соединения).
Простейший вариант.

Сервер чата.
Принимает сообщения от клиентов.
Рассылает сообщения всем клиентам.
Еще должны быть сообщения о подключении клиента к чату и об отключении.
Ведет список подключенных клиентов.

Клиент чата.
Подключается к серверу чата.
Отключается от сервера чата.
Посылает сообщение серверу.
Принимает сообщения от сервера - показывает пользователю.

Нужно расписать аккуратно протокол.
И реализовать.

Но думаю сразу что-то типа ICQ не получится
Я для локалки

Добавлено через 17 часов 49 минут 34 секунды
C++
1
2
3
4
5
6
7
8
9
10
array<Byte>^ msg = Encoding::UTF8->GetBytes( "This is a test" );
array<Byte>^ bytes = gcnew array<Byte>(256);
 
// Blocks until send returns.
      int byteCount = server->Send( msg );
      Console::WriteLine( "Sent {0} bytes.", byteCount.ToString() );
//Get reply from the server.
      byteCount = server->Receive( bytes );
      if ( byteCount > 0 )
         Console::WriteLine( Encoding::UTF8->GetString( bytes ) );
каким образом можно отправить содержимое textbox? Поместить содержимое текстбокс в массив? и его отправитЬ?
0
Эксперт С++
7175 / 3234 / 81
Регистрация: 17.06.2009
Сообщений: 14,164
28.07.2009, 15:45 10
Представить как строку символов и отправить.
0
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
28.07.2009, 17:48  [ТС] 11
Цитата Сообщение от Vourhey Посмотреть сообщение
BoDRbIi, забудь про сервера, клиенты. ты слушаешь порт и ты на него что-то посылаешь. Либо listen/receive, либо send.
Тоесть получается клиент и сервер в одной программе?
0
2343 / 499 / 22
Регистрация: 01.04.2009
Сообщений: 2,200
28.07.2009, 18:00 12
Цитата Сообщение от BoDRbIi Посмотреть сообщение
Тоесть получается клиент и сервер в одной программе?
блин...
что такое по-твоему сервер?
Се́рвер (англ. server от англ. to serve — служить) — в информационных технологиях — программный компонент вычислительной системы, выполняющий сервисные (обслуживающие) функции по запросу клиента, предоставляя ему доступ к определённым ресурсам или услугам.
источник: wikipedia.org
твоя программа функционально может вовсе не быть сервером.
например, просто периодически посылать запросы на определенный порт, и по ответу - считать, что там есть аналогичная программа.
и по этому-же(или другому) порту отправлять сообщения.
и все. никаких серверов/клиентов.
ведь никаких услуг/ресурсов она не делает.
0
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
28.07.2009, 22:23  [ТС] 13
C++
1
2
3
4
5
6
7
8
listenSocket = gcnew Socket( AddressFamily::InterNetwork,
            SocketType::Stream,
            ProtocolType::Tcp );
IPAddress^ hostIP = ( Dns::Resolve( IPAddress::Any->ToString() ) )->AddressList[ 0 ];
IPEndPoint^ ep = gcnew IPEndPoint( hostIP, 0);
listenSocket->Bind( ep );
listenSocket->Listen(10);
Socket^ mySocket=listenSocket->Accept();//из-за этой строчки прога серъезно задумывается...
что дальше делать хз( точнее приблизительно.... надо текстбокс отправить с помощью send, а как это сделать вопрос... точнее перевести в строку, но строку он не отправляет
0
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
29.07.2009, 03:27 14
а сокеты зачем? в дотнете вроде ремоутинг сделан. В чатах без автообновления не разбираюсь, но судя по примерам с ремоутингом можно и на наем сделать
0
60 / 10 / 0
Регистрация: 21.07.2009
Сообщений: 248
29.07.2009, 11:17  [ТС] 15
Цитата Сообщение от exe-dealer Посмотреть сообщение
а сокеты зачем? в дотнете вроде ремоутинг сделан. В чатах без автообновления не разбираюсь, но судя по примерам с ремоутингом можно и на наем сделать
НУ как я понял чтоб соединение было между ними нужен сокет, а что за "ремоутинг"? можно по подробней
0
308 / 161 / 11
Регистрация: 07.06.2009
Сообщений: 538
29.07.2009, 12:15 16
это наподобие вебслужб, только пониже. Сервер хостит удаленный объект, клиент берет из сети фейковый экземпляр(прокси) при вызове методов которого они выполняются на сервере, на котором хостится объект. то есть нам не надо думать о всяких протоколах(хотя и можно вмешаться) это в разы уменьшает код.
0
<Deni$>
09.08.2009, 15:56 17
Как заставить программу подерживать СКИНЫ:'( ПОМОГИТЕ !!!!!!!!!!!
09.08.2009, 15:56
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
09.08.2009, 15:56
Помогаю со студенческими работами здесь

Чат на сокетах
Есть сервер и клиент когда отправляешь сообщение с первого клиента втором то сообщения не...

UDP чат
Здравствуйте, с C++ знаком около недели, но нужно сделать сетевой чат по UDP. По разным мануалам...

Голосовой чат
Необходимо реализовать голосовой чат. В процессе разработки возникли вопросы: 1) Какой протокол...

Чат на сокетах
Я создаю чат на С ++, только такой в котором 1 сервер который как и клиент также может отправлять и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
17
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru