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

Last change on this file since 8863 was 8862, checked in by tbretz, 17 years ago
*** empty log message ***
File size: 1.2 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(const char *addr, Int_t tx);
40 ~MTcpIpO();
41
42 static TString GetSocketAddress(const TSocket &s);
43 static bool SendFrame(TSocket &tx, const char *msg, int len);
44 static bool SendFrame(const char *addr, int port, const char *msg, int len);
45
46 TString GetSocketAddress() const;
47 bool Send(const char *msg, int len);
48};
49
50// This class es espcially meant to receive and send ascii messages
51class MTcpIpIO : public MTcpIpI, public MTcpIpO
52{
53private:
54 void ReadSocket(TSocket &rx);
55
56public:
57 MTcpIpIO(const char *addr, Int_t tx, Int_t rx);
58 ~MTcpIpIO();
59
60 virtual bool InterpreteStr(TString str);
61};
62
63#endif
Note: See TracBrowser for help on using the repository browser.