Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
tural
0 / 0 / 0
Регистрация: 20.06.2015
#1

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

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

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

Соединение tcp client и tcp server
accept(); bind(); connect(); listen(); socket(); Нужно расположить их в порядке...

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

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

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

TCP клиент/сервер
Здравствуйте, прошу вашей помощи) нашел реализацию TCP клиента/сервера, все...

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

Там есть много готовых классов для работы с сетью.
0
igorrr37
1867 / 1483 / 751
Регистрация: 21.12.2010
Сообщений: 2,473
Записей в блоге: 11
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
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,336
Записей в блоге: 17
03.02.2015, 21:08 #4
igorrr37, А разве так можно писать в сокет и читать из него в разных потоках? Т.е потокобезопасно ли?
0
Avazart
Эксперт С++
7719 / 5628 / 549
Регистрация: 10.12.2010
Сообщений: 25,336
Записей в блоге: 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

Отправка сообщения по TCP/IP
Здравствуйте, на одном компьютере есть программа, доступ к которой...

Общение игрострой TCP/UDP
Привет всем! Как написать чат, сериализовывать и десериализовывать я знаю....

WinSock tcp client/server
Может у кого то есть пример простой реализации client/server на winsock ?...


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

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

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