TCP/IP 通信用ソケットのクラス

通信まわりは、SDL_net を使うことにしたので、特に問題はない。
通信クラスの定義はこんな感じ。

#ifndef TCPIP_CTRL_H
#define TCPIP_CTRL_H

#include "connectionInterface.h"
#include <SDL_net.h>
#include <memory>

class SocketSet;


class TcpipCtrl : public ConnectionInterface {
  TcpipCtrl(const TcpipCtrl& rhs);
  TcpipCtrl& operator = (const TcpipCtrl& rhs);

  struct pImpl;
  std::auto_ptr<pImpl> pimpl;

public:
  enum { NoTimeout = -1 };
  explicit TcpipCtrl(void);
  explicit TcpipCtrl(SocketSet* socketSet, TCPsocket scoket = NULL);
  ~TcpipCtrl(void);

  const char* what(void);
  int connect(const char* host, long port);
  void disconnect(void);
  bool isConnected(void);
  int changeBaudrate(long baudrate);
  int send(const char* data, int size);
  int recv(char* data, int size, int timeout);
  int size(void);
  void clear(void);
};

#endif /* !TCPIP_CTRL_H */ 

あと、テスト作って実際に送受信できるのを確認した。いい感じかと。
興味ある方は、svn からソース落として下さい。

接続待ち用ソケットのクラス へ」

Generated on Mon Apr 13 22:52:06 2009 by  doxygen 1.5.7.1