Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 16, средняя оценка - 4.69
Tural
#1

Работа с TCP/IP протоколами - C++

27.06.2011, 12:04. Просмотров 2381. Ответов 4
Метки нет (Все метки)

Здравствуйте!
Хочу реализовать свою идею. Но не знаю с чего начать. Подскажите пожалюста, на каком языке лучше написать такую прогу, или может есть такая прога. Жду ваших предложений и советов
Идея такова: Программа
1) должна работать в локалной сети
2) будет состоит из двух частей: админ и клиент
Директор посылает задачу конкретному работнику через админку. Админка запоминает время и добавляет задачу в таблицу (бд). На другой стороне появляется уводемление о новой задаче. После выполнении задачи работник ставит галочку на задачу. И клиент отправляет "сигнал" на админку о выполнении задачи. После этого соотв. ячейка меняет цвет. Заранее спс.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
27.06.2011, 12:04
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Работа с TCP/IP протоколами (C++):

Соединение tcp client и tcp server - C++
accept(); bind(); connect(); listen(); socket(); Нужно расположить их в порядке в каком их вызывает (А) сервер (Б) клиент, чтобы...

Связь по TCP - C++
Здравствуйте , уважаемые программисты. Я начинающий программист и моя задача состоит в том, чтобы обеспечить связь сервера на котором...

TCP клиент/сервер - C++
Здравствуйте, прошу вашей помощи) нашел реализацию TCP клиента/сервера, все работает, но есть одно "но". IP адрес в коде прописан через...

Tcp/ip подключение к программе - C++
Написал простое приложение сервер+клиент, передача данных осуществляется по протоколу tcp. Когда комп подключен к интернету (ip выдается...

Инкапсуляция пакетов TCP/IP - C++
Всем привет есть такой вопрос. Надо было написать протокол для программыки типа клиет-сервер. Фишка в том что я пищу только часть...

Общение игрострой TCP/UDP - C++
Привет всем! Как написать чат, сериализовывать и десериализовывать я знаю. Передавать файлы по FTP. Тоже НЕ могу понять что передавать...

4
Qwerty_coder
29 / 29 / 2
Регистрация: 14.12.2009
Сообщений: 79
27.06.2011, 14:52 #2
Tural, Qt вам в помощь.

Там есть много готовых классов для работы с сетью.
0
igorrr37
1648 / 1276 / 133
Регистрация: 21.12.2010
Сообщений: 1,932
Записей в блоге: 7
27.06.2011, 16:49 #3
консольный чат
сервер
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <string>
#include <boost/asio.hpp>
#define BOOST_THREAD_USE_LIB
#include <boost/thread.hpp>
#include <windows.h>
typedef boost::asio::ip::tcp tcp;
 
tcp::socket* pSock;
 
void Receive(){
    boost::asio::streambuf sbuf;
    while(true){
        boost::asio::read_until(*pSock, sbuf, "\n");
        std::cout<<&sbuf;
    }
}
 
int main (){
    SetConsoleOutputCP(1251);
    std::cout<<"Server is running\n";
    boost::asio::io_service io;
    tcp::socket sock(io);
    tcp::acceptor acc(io, tcp::endpoint(tcp::v4(), 9090));
    std::string s;
    acc.accept(sock);
    std::cout<<"Client has been accepted\n";
    pSock=&sock;
    boost::thread t(Receive);
    while(true){
        std::getline(std::cin, s);
        s+="\n";
        boost::asio::write(sock, boost::asio::buffer(s));
    }
    sock.shutdown(tcp::socket::shutdown_both);
    sock.close();
    acc.close();
    return 0;
}
клиент
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <iostream>
#include <boost/asio.hpp>
#include <windows.h>
#define BOOST_THREAD_USE_LIB
#include <boost/thread.hpp>
typedef boost::asio::ip::tcp tcp;
 
tcp::socket* pSock;
 
void Send(){
    std::string s;
    while(true){
        std::getline(std::cin, s);
        s+="\n";
        boost::asio::write(*pSock, boost::asio::buffer(s));
    }
}
 
int main(){
    SetConsoleOutputCP(1251);
    std::cout<<"Client is running\n";
    boost::asio::io_service io;
    boost::asio::ip::tcp::socket sock(io);
    pSock=&sock;
    boost::asio::ip::tcp::endpoint endPoint(boost::asio::ip::address::from_string("127.0.0.1"), 9090);
    boost::system::error_code err=boost::asio::error::host_not_found;
    sock.connect(endPoint, err);
    if(err){std::cerr<<err.message(); return 1;}
    else std::cout<<"Connection established\n";
    boost::thread t(Send);
    boost::asio::streambuf sbuf;
    while(true){
        boost::asio::read_until(sock, sbuf, "\n");
        std::cout<<&sbuf;
    }
    sock.shutdown(tcp::socket::shutdown_both);
    sock.close();
    return 0;
}
2
Avazart
Эксперт С++
7245 / 5417 / 295
Регистрация: 10.12.2010
Сообщений: 24,034
Записей в блоге: 17
03.02.2015, 21:08 #4
igorrr37, А разве так можно писать в сокет и читать из него в разных потоках? Т.е потокобезопасно ли?
0
Avazart
Эксперт С++
7245 / 5417 / 295
Регистрация: 10.12.2010
Сообщений: 24,034
Записей в блоге: 17
13.02.2015, 23:09 #5
Может кто ответить насколько корректен данный код?
И можно ли поступать аналогичным образом с WinSocks ?
0
13.02.2015, 23:09
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.02.2015, 23:09
Привет! Вот еще темы с ответами:

WinSock tcp client/server - C++
Может у кого то есть пример простой реализации client/server на winsock ? неважно на каком языке. Мне надо что бы сервер отправлял...

TCP клиент, ошибка при компиляции - C++
в чем может быть проблема может в &quot;ws2_32.lib&quot;? #include &lt;iostream&gt; #include &lt;stdio.h&gt; #include &lt;string.h&gt; #include &lt;winsock2.h&gt; ...

отправка сообщений по TCP на одном компьютере - C++
Добрый день. Хочу сделать что то типа соединения клиент-сервер но на одном компьютере. Соответственно делаю соединение по адресу...

TCP/IP передача писем от сервера клиенту - C++
Есть простейший почтовый сервер и почтовый клиент. Взаимодействие реализовано с помощью отправки констант, означающие например &quot;отправить...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru