source: trunk/MagicSoft/Cosy/tcpip/MTcpIpIO.h@ 8843

Last change on this file since 8843 was 8843, checked in by tbretz, 17 years ago
*** empty log message ***
File size: 1.1 KB
Line 
1#ifndef COSY_MTcpIpIO
2#define COSY_MTcpIpIO
3
4#ifndef MARS_MThread
5#include "MThread.h"
6#endif
7#ifndef MARS_MTime
8#include "MTime.h"
9#endif
10
11
12class TString;
13class TSocket;
14class TServerSocket;
15
16// A generalized class for receiving over tcp/ip
17class MTcpIpI : public MThread
18{
19private:
20 Int_t fPortRx;
21
22 Int_t Thread();
23
24 virtual void ReadSocket(TSocket &rx) = 0;
25
26public:
27 MTcpIpI(Int_t rx) : MThread(Form("MTcpIpI::%d", rx)), fPortRx(rx) { /*RunThread();*/ }
28 ~MTcpIpI() { CancelThread(); }
29};
30
31
32// A generalized class for sending over tcp/ip
33class MTcpIpO
34{
35private:
36 TSocket *fTxSocket;
37
38public:
39 MTcpIpO(Int_t tx);
40 ~MTcpIpO();
41
42 static bool SendFrame(TSocket &tx, const char *msg, int len);
43 static bool SendFrame(const char *addr, int port, const char *msg, int len);
44
45 bool Send(const char *msg, int len);
46};
47
48// This class es espcially meant to receive and send ascii messages
49class MTcpIpIO : public MTcpIpI, public MTcpIpO
50{
51private:
52 void ReadSocket(TSocket &rx);
53
54public:
55 MTcpIpIO(Int_t tx, Int_t rx);
56 ~MTcpIpIO();
57
58 virtual bool InterpreteStr(TString str);
59};
60
61#endif
Note: See TracBrowser for help on using the repository browser.