|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
25.12.2007, 03:22 | #1 |
Пользователь
Регистрация: 22.12.2007
Сообщений: 12
|
простой сервер(клиент) TCP
Здравствуйте.
Хочу попросить помощи и совета. Когда то давно мне на глаза попалась простая статейка "создание простого TCP сервера и клиента (Delphi & Object Pascal)". Сервер и клиент у них получался по строк 20. Компоненты использовали чтот типа TCPClient & TCPServer (как-то так). Я особо не придал ей значения, но сейчас возникла необходимость в написании сервера и клиента, только на C++. Видел в инете много статей, с использованием сокетов, мне они если чесно показались сложноватыми так вот к чему я: 1. не знаете где можно отрыть статейку, где описано как написать простой сервер(клиент) на с++ только чтоб было похоже как описано выше (на делфи). 2. или мне уже лезать в дебри и учить сокеты ?? Заранее благодарю) |
25.12.2007, 04:30 | #2 | |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
Цитата:
В c++builder 6 для передачи какой-либо информации по сети удобнее всего использовать компоненты закладки internet: tclientsocket и tserversocket. Для начала создадим новый проект(file->new->application), поместим на форму компоненты: tclientsocket и tserversocket , чтобы наша программа могла быть и клиентом и сервером (не одновременно конечно ). Далее разместим компонент tmemo (закладка standart) - в нем как вы догадались будет отображаться текст чата. Следующим на форму нужно кинуть компонент tedit (standart) - в него мы будем писать текcт, который нужно отправить собеседнику. Ну и конечно тяжело обойтись без кнопки отправить - кидаем на форму tbutton . Кроме того что уже есть на форме, нам еще понадобится три кнопки и два эдита (tedit) (их назначение описывается по ходу обращения к ним) . Итак, на форме : clientsocket1 и serversocket1 memo1 edit1,edit2,edit3 button1,button2,button3,button4 Теперь изменяем свойства: button1->caption на "Отправить" button2->caption на "Создать" button3->caption на "Соединиться" и button4->caption на "Отключить" . Убираем текст во всех Эдитах . Свойство memo1->readonly = true , clientsocket1->host - нужно написать ip-адрес сервера к которому вы будете присоеденяться (ip-адресс устанавливается в настройках соединения windows), если прописать 127.0.0.1 , то вы будете конектиться к себе на компьютер (так удобно делать, когда проверяешь на работоспособность свою программу. Запустив ее дважды, одна клиент с 127.0.0.1 , а другая сервер !) если же вы коннектитесь к другу, то заранее договоритесь какой будет Ай-Пи-адрес (143.0.0.5 - например). Но для того чтобы Ай-Пи -адресс можно было легко сменить, мы и положили на форму один из Эдитов, его текст при коннекте и будет отвечать свойству clientsocket1->host и clientsocket1->address . В свойстве clientsocket1->port и servertsocket1->port - должны стоять одинаковые значения, чтобы Сервер и Клиент прослушивали и работали на один порт . Число можно выбрать любое (1024 например). Кнопка "Создать" - активизирует сервер. Он начинает прослушивать порт на коннект со стороны клиента . Код:
Давайте опишем клиента!(Кнопка "Соединиться") В edit3->text впишите 127.0.0.1 - предполагается что тестироваться будет на одном компьютере (что б других не заморачивать Код:
Код:
Для клиента почти так само : Код:
Код:
Код:
Последний раз редактировалось merax; 25.12.2007 в 04:32. |
|
25.12.2007, 04:30 | #3 |
Форумчанин
Регистрация: 27.12.2006
Сообщений: 955
|
Теперь разберемся с этой кучей кода :
Код:
Независимо от того кто мы (клиент-сервер) Очищаем Эдит1 : edit1->text = "" ; Также надо описать прием информации и занесение ее в Мемо1. Делается это обработчиком события onread у tclientsocket и tserversocket : Код:
А почему бы и нет? |
25.12.2007, 16:21 | #4 |
Пользователь
Регистрация: 22.12.2007
Сообщений: 12
|
приятно удивлен))
огромное спасибо ) |
25.12.2007, 19:02 | #5 |
Пользователь
Регистрация: 22.12.2007
Сообщений: 12
|
а можно мне еще вопрос, вернее совет:какую вы мне можете посоветовать книгу для изучения программирования серверов(клиентов) на С++ ??
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Простой SMTP-сервер | SlIgor | Помощь студентам | 3 | 09.06.2008 20:47 |
Простой клиент обмена сообщениями | eks-s | Работа с сетью в Delphi | 1 | 04.03.2008 01:03 |
Клиент-сервер-клиент | Кронос | Работа с сетью в Delphi | 3 | 24.08.2007 07:57 |
Клиент-сервер | Scorpio | Работа с сетью в Delphi | 6 | 13.02.2007 22:57 |