CQ出版 Interface 2014年10月号のC027(MAX7-Q)GPSテスト記事のプログラム。 CQ publishing Interface 2014.10 issue, C027 GPS(MAX-7Q) test program.

Dependencies:   C027 C027_Support mbed

Revision:
0:1ababa0d0c42
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/C027_Support/Socket/TCPSocketConnection.h	Wed Jun 04 02:37:42 2014 +0000
@@ -0,0 +1,77 @@
+#ifndef TCPSOCKET_H
+#define TCPSOCKET_H
+
+#include "Socket.h"
+
+/** TCP socket connection
+ */
+class TCPSocketConnection: public Socket
+{
+    friend class TCPSocketServer;
+
+public:
+    /** TCP socket connection
+    */
+    TCPSocketConnection() {}
+
+    /** Connects this TCP socket to the server
+    \param host The host to connect to. It can either be an IP Address or a hostname that will be resolved with DNS.
+    \param port The host's port to connect to.
+    \return 0 on success, -1 on failure.
+    */
+    int connect(const char* host, const int port)
+    {
+        if (_mdm == NULL)
+            _mdm = MDMParser::getInstance();
+        if (_mdm == NULL)
+            return -1;
+            
+        if (_socket < 0) {
+            _socket = _mdm->socketSocket(MDMParser::IPPROTO_TCP);
+            if (_socket < 0) {
+                return -1;
+            }
+        }
+    
+        _mdm->socketSetBlocking(_socket, _timeout_ms); 
+        if (!_mdm->socketConnect(_socket, host, port)) {
+            return -1;
+        }
+        return 0;
+    }
+    /** Check if the socket is connected
+    \return true if connected, false otherwise.
+    */
+    bool is_connected(void)                 { return _mdm->socketIsConnected(_socket); }
+
+    /** Send data to the remote host.
+    \param data The buffer to send to the host.
+    \param length The length of the buffer to send.
+    \return the number of written bytes on success (>=0) or -1 on failure
+     */
+    int send(char* data, int length)        { return _mdm->socketSend(_socket, data, length); }
+
+    /** Send all the data to the remote host.
+    \param data The buffer to send to the host.
+    \param length The length of the buffer to send.
+    \return the number of written bytes on success (>=0) or -1 on failure
+    */
+    int send_all(char* data, int length)    { return send(data,length); }
+
+    /** Receive data from the remote host.
+    \param data The buffer in which to store the data received from the host.
+    \param length The maximum length of the buffer.
+    \return the number of received bytes on success (>=0) or -1 on failure
+     */
+    int receive(char* data, int length)     { return _mdm->socketRecv(_socket, data, length); }
+
+    /** Receive all the data from the remote host.
+    \param data The buffer in which to store the data received from the host.
+    \param length The maximum length of the buffer.
+    \return the number of received bytes on success (>=0) or -1 on failure
+    */
+    int receive_all(char* data, int length) { return receive(data,length); }
+    
+};
+
+#endif