SDC C-Project CF Review 프로그램
LYW
2021-08-17 9aa3a8ff940e89bb0b5c75bc8abd0864e4c85874
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
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
#ifndef _TCP_H_
#define _TCP_H_
 
#include <winsock.h>
#include <string>
#include <afxmt.h>
 
#define MVSOL_TCP_CONNECTION_CHANGED (WM_USER + 0x1000)
 
namespace mvsol
{
    class TcpSocket
    {
    public:
        TcpSocket(HWND parent);
        ~TcpSocket();
 
        enum
        {
            kConnected = 0,
            kDisconnected,
        };
 
        static const INT BUFFERSIZE = 1024;
 
        BOOL Connect(const CString& ip, INT port);
        BOOL Disconnect();
 
    protected:
        BOOL Create();
        void Close();
 
        int SendWait(PBYTE indata, INT indatasize, PBYTE outdata, PINT outdatasize);
 
    private:
        int Send(const PBYTE indata, INT indatasize);
        int Receive(PBYTE outdata, INT* outdatasize);    
 
    //¼Ó¼º
    public:
        void SetParent(HWND parent) { parent_ = parent; }
 
        BOOL IsConnected() const { return isconnected_; }
        BOOL IsCreated() const { return iscreated_; }
 
    protected:
        WSAData wsadata_;
 
        BOOL iscreated_;
        BOOL isconnected_;
        sockaddr_in server_;
        sockaddr_in local_;
 
        SOCKET socket_;
 
        HWND parent_;
 
        CCriticalSection cs_;
    };
 
} // namespace mvsol
 
#endif // _TCP_H_