Сетевое программирование, сокеты (help!)

Модератор: Модераторы разделов

Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Сетевое программирование, сокеты

Сообщение rza »

необходимо написать программу передачи сообщениями между одноранговыми компьютерами в сети. язык с++.
кто чем-то похожим занимался? кто что посоветует? с чего начать и что почитать. заранее СПС!
Спасибо сказали:
Аватара пользователя
whirlwind
Сообщения: 67

Re: Сетевое программирование, сокеты

Сообщение whirlwind »

ну, собственно, совершенно верно, про socket и надо читать...
вот, например, http://www.linuxhowtos.org/C_C++/socket.htm первая ссылка по запросу "socket example c++ linux"
там вроде пример хорошо описан. Начните, а там конкретные вопросы появятся, наверное
Добро всегда побеждает зло. Мы победили, значит мы - добро.
Спасибо сказали:
Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Сетевое программирование, сокеты

Сообщение Voice »

Думаю стоит поискать на sourceforge, например, готовые библиотеки для работы с сокетами.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

а на русском ничего нет? а то с английским слабовато....

:console:
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Сетевое программирование, сокеты

Сообщение Portnov »

http://google.com/search?q=сокеты+linux+пример
Первая ссылка: symmetrica.net/uploads/linapi/linapi4.pdf
Третья ссылка, правда, про UDP: www.opennet.ru/base/dev/raw_socket.txt.html
Четвёртая ссылка: gazette.linux.ru.net/lg74/articles/rus-tougher.html

Найдено за 30 секунд.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

за 4 ссылку огромное спасибо! а первая-битая(
Спасибо сказали:
Аватара пользователя
AestheteAnimus
Сообщения: 135
ОС: FreeBSD 8.0-RELEASE amd64

Re: Сетевое программирование, сокеты

Сообщение AestheteAnimus »

Уже второй раз отсылаю на Стивенса. Почему сразу на начинаете с него? Более полный и детальный разбор сетевого программирования врядли найдете. Собственно вот:
http://www.ozon.ru/context/detail/id/2881910/
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

собрал проект gazette.linux.ru.net/lg74/articles/rus-tougher.html. при компиляции ошибка.
/home/a/kurs1/src/kurs1.cpp:8: ошибка: ‘cout’ не является элементом ‘std’

и в исходнике подчеркивает на етом месте
std::cout << "running....\n";
что это может быть?
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

может что - то с версией компилятора? помогите плз! все равно же кто-то знает. а я ума не приложу в чём дело.(
Спасибо сказали:
Аватара пользователя
Portnov
Модератор
Сообщения: 1786
Статус: Матёрый линуксоид
ОС: Debian testing/unstable

Re: Сетевое программирование, сокеты

Сообщение Portnov »

using namespace std;

в начало добавить? Но могу ошибаться, т.к. на плюсах писал давно и мало.
Работа: Ubuntu 9.10
Дом: Debian testing/unstable и на всякий случай winxp в virtualbox.
Для разнообразия: моя домашняя страница -http://iportnov.ru
Спасибо сказали:
JelF
Сообщения: 62
ОС: Debian

Re: Сетевое программирование, сокеты

Сообщение JelF »

using std эквивалентно std::cout

тут походу надо написать в начале #include <iostreams>
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

using namespace std не помогает(
Спасибо сказали:
arch
Сообщения: 74
ОС: freebsd/arch

Re: Сетевое программирование, сокеты

Сообщение arch »

#include <iostreams>

#include <iostream> , без s .
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

не помогает и iostream
Спасибо сказали:
Аватара пользователя
Aectann
Бывший модератор
Сообщения: 3491
Статус: ...
ОС: OS X, GNU_и_не_только/Linux

Re: Сетевое программирование, сокеты

Сообщение Aectann »

rza писал(а):
24.11.2008 10:10
собрал проект gazette.linux.ru.net/lg74/articles/rus-tougher.html. при компиляции ошибка.
/home/a/kurs1/src/kurs1.cpp:8: ошибка: ‘cout’ не является элементом ‘std’

и в исходнике подчеркивает на етом месте
std::cout << "running....\n";
что это может быть?

Какой компилятор использовался?
My god... it's full of stars!...
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

компилил в kdevelop. у меня alt linux. решил перейти на гном. графику к программе придёться писать на ГТК. посоветуйте пожалуйста литературу.
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: Сетевое программирование, сокеты

Сообщение Grom »

"Программирование GNOME/GTK+", Артур Гриффитс, "ДиаСофт", 2001 Хорошая книга с примерами, правда, ориентирована на С. Также в LinuxFormat был цикл статей на эту тему, номера 90-95 (весна-лето 2007).

P.S. Всё это найдено через гугл.
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

Grom писал(а):
01.12.2008 16:49
"Программирование GNOME/GTK+", Артур Гриффитс, "ДиаСофт", 2001 Хорошая книга с примерами, правда, ориентирована на С. Также в LinuxFormat был цикл статей на эту тему, номера 90-95 (весна-лето 2007).

P.S. Всё это найдено через гугл.


спасибо большое
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

поставил только что федору 7 которая весной вышла по-моему и там попробовал скомпилить. та же ошибка.
‘cout’ не является элементом ‘std’ . что это может быть? помогите пожалуйста. гугл толкового не находит ничего по этому вопросу(
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Сетевое программирование, сокеты

Сообщение Zeus »

Можно только проект в студию потребовать.
Исходники, makefile...
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

4.1 Список файлов

Следующие файлы составляют наш проект:

Разное:
Makefile - Makefile для этого проекта
Socket.h, Socket.cpp - класс Socket, который реализует вызовы функций API для сокетов.
SocketException.h - класс SocketException
Сервер:
simple_server_main.cpp - главный файл
ServerSocket.h, ServerSocket.cpp - класс ServerSocket
Клиент:
simple_client_main.cpp - главный файл
ClientSocket.h, ClientSocket.cpp - класс ClientSocket
http://gazette.linux.ru.net/lg74/articles/...er/Makefile.txt
http://gazette.linux.ru.net/lg74/articles/...er/Socket.h.txt
http://gazette.linux.ru.net/lg74/articles/.../Socket.cpp.txt
http://gazette.linux.ru.net/lg74/articles/...Exception.h.txt
http://gazette.linux.ru.net/lg74/articles/...er_main.cpp.txt
http://gazette.linux.ru.net/lg74/articles/...verSocket.h.txt
http://gazette.linux.ru.net/lg74/articles/...rSocket.cpp.txt
http://gazette.linux.ru.net/lg74/articles/...nt_main.cpp.txt
http://gazette.linux.ru.net/lg74/articles/...entSocket.h.txt
http://gazette.linux.ru.net/lg74/articles/...tSocket.cpp.txt
ну вот.качать новый компилятор? или что-то я делаю не так?
Спасибо сказали:
MiK13
Сообщения: 1263
ОС: Linux Debian

Re: Сетевое программирование, сокеты

Сообщение MiK13 »

Уже довольно давно мне попалась книга Системное программирование в UNIX. Автора сейчас не помню, а под рукой её нет. Она так понравилась, что сначала купили её ещё один экземпляр на отдел, а потом даже отсканировали, чтобы иметь в электронном виде.
Там есть глава по программированию сокетов. И примеры по обмену информацией как по UDP, так и по TCP.
Стали пробовать и очень быстро всё получилось. И без проблем осуществляем обмен информацией между разными компьютерами с разными системами.
Правда, там все примеры не на C++, а на чистом C.
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: Сетевое программирование, сокеты

Сообщение Zeus »

Залил себе проект.
Он не компилится потому что в файлах:
Socket.cpp
simple_server_main.cpp
не включён файл iostream

Код: Выделить всё

#include <iostream>


Если в указанные файлы включить данный заголовочный файл, то всё компилится.
Спасибо сказали:
Grom
Сообщения: 260
ОС: Debian Etch, RHEL-5.4

Re: Сетевое программирование, сокеты

Сообщение Grom »

rza писал(а):
03.12.2008 19:30
поставил только что федору 7 которая весной вышла по-моему и там попробовал скомпилить. та же ошибка.
‘cout’ не является элементом ‘std’ . что это может быть? помогите пожалуйста. гугл толкового не находит ничего по этому вопросу(


Что-то в исходниках не вижу строчки:
#include <iostream>

P.S. Упс, сразу до конца не просмотрел тему, уже ответили
P.P.S. А как-то можно удалять свои сообщения?
Послужной список: Slackware-3.x, RedHat-4.x,5.x,6.x,7.x, FedoraCore-3, Debian Etch/Lenny
Осваиваю: RHEL-5.4
Спасибо сказали:
skillergti
Сообщения: 34
ОС: slackware

Re: Сетевое программирование, сокеты

Сообщение skillergti »

MiK13 писал(а):
04.12.2008 14:46
Уже довольно давно мне попалась книга Системное программирование в UNIX. Автора сейчас не помню, а под рукой её нет. Она так понравилась, что сначала купили её ещё один экземпляр на отдел, а потом даже отсканировали, чтобы иметь в электронном виде.
Там есть глава по программированию сокетов. И примеры по обмену информацией как по UDP, так и по TCP.
Стали пробовать и очень быстро всё получилось. И без проблем осуществляем обмен информацией между разными компьютерами с разными системами.
Правда, там все примеры не на C++, а на чистом C.

Очевидно, Брюс Моли "Unix/Linux теория и практика программирования".
Чистый С, очень толковая) Сам по ней начинал, причём заодно практиковался в С++, переделывая программы
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

Всем огромное спасибо! Zeus - огромное спасибо! теперь курсач сдвинуся с мёртвой точки!))
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

simple_server_main.cpp:6: ошибка: второй аргумент функции ‘int main(int, int*)’ должен иметь тип ‘char **’
не пойму в чём дело. zeus компилил - у вас такое было?? кстати каким лучше редактором пользоваться? кто что посоветует?
Спасибо сказали:
Аватара пользователя
diesel
Бывший модератор
Сообщения: 5989
ОС: OS X, openSuSE, ROSA, Debian

Re: Сетевое программирование, сокеты

Сообщение diesel »

rza писал(а):
08.12.2008 09:02
simple_server_main.cpp:6: ошибка: второй аргумент функции ‘int main(int, int*)’ должен иметь тип ‘char **’
не пойму в чём дело. zeus компилил - у вас такое было?? кстати каким лучше редактором пользоваться? кто что посоветует?


http://publications.gbdirect.co.uk/c_book/...ts_to_main.html
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

не работает ссылка
Спасибо сказали:
Аватара пользователя
rza
Сообщения: 105
ОС: Linux Mint 11 Katya

Re: Сетевое программирование, сокеты

Сообщение rza »

разобрался. скомпилил. спс
Спасибо сказали: