]> Creatis software - creaImageIO.git/blob - src2/creaImageIOPACSConnection.cpp
Added the PACS Connection Panel, a basic socket connection class and on .Gimmick...
[creaImageIO.git] / src2 / creaImageIOPACSConnection.cpp
1 #include <creaImageIOPACSConnection.h>
2 #include <cstdlib>
3 #include <cstring>
4 #include <iostream>
5 #include <boost/asio.hpp>
6
7 using boost::asio::ip::tcp;
8
9 enum { max_length = 3086 };
10 using namespace std; 
11 namespace creaImageIO
12 {
13         PACSConnection::PACSConnection(std::string command)
14         {
15         try
16         {
17
18                 boost::asio::io_service io_service;
19
20                 tcp::resolver resolver(io_service);
21                 tcp::resolver::query query(tcp::v4(), "localhost", "3306");
22                 tcp::resolver::iterator iterator = resolver.resolve(query);
23
24                 tcp::socket s(io_service);
25                 s.connect(*iterator);
26
27                 size_t request_length = strlen(command.c_str());
28                 boost::asio::write(s, boost::asio::buffer(command.c_str(), request_length));
29
30                 char reply[max_length];
31                 size_t reply_length = boost::asio::read(s,
32                         boost::asio::buffer(reply, request_length));
33                 std::cout << "Reply is: ";
34                 std::cout.write(reply, reply_length);
35                 std::cout << "\n";
36         }
37         catch (std::exception& e)
38         {
39                 std::cerr << "Exception: " << e.what() << "\n";
40         }
41         }
42 }