summaryrefslogtreecommitdiff
path: root/Ivy/BufferedSocket.h
diff options
context:
space:
mode:
authorfcolin2007-02-01 12:53:58 +0000
committerfcolin2007-02-01 12:53:58 +0000
commitc3cdcd52eb86f5ed96a515370e073e604ebb1a53 (patch)
treeec1030ff2557fc34e124144fddb171228d75566e /Ivy/BufferedSocket.h
parent98630f19f487c261bd68defc285c8216c0f7718c (diff)
downloadivy-cplusplus-c3cdcd52eb86f5ed96a515370e073e604ebb1a53.zip
ivy-cplusplus-c3cdcd52eb86f5ed96a515370e073e604ebb1a53.tar.gz
ivy-cplusplus-c3cdcd52eb86f5ed96a515370e073e604ebb1a53.tar.bz2
ivy-cplusplus-c3cdcd52eb86f5ed96a515370e073e604ebb1a53.tar.xz
Utilisateur : Fcolin Date : 16/06/00 Heure : 10:14 Créé (vss 1)
Diffstat (limited to 'Ivy/BufferedSocket.h')
-rw-r--r--Ivy/BufferedSocket.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/Ivy/BufferedSocket.h b/Ivy/BufferedSocket.h
new file mode 100644
index 0000000..5f104c6
--- /dev/null
+++ b/Ivy/BufferedSocket.h
@@ -0,0 +1,42 @@
+// BufferedSocket.h: interface for the CBufferedSocket class.
+//
+//////////////////////////////////////////////////////////////////////
+
+#if !defined(AFX_BUFFEREDSOCKET_H__ECAC808B_3B4D_11D3_8A1E_00A0245B298A__INCLUDED_)
+#define AFX_BUFFEREDSOCKET_H__ECAC808B_3B4D_11D3_8A1E_00A0245B298A__INCLUDED_
+
+#if _MSC_VER > 1000
+#pragma once
+#endif // _MSC_VER > 1000
+
+#include "ThreadedSocket.h"
+
+class CBufferedSocket : public CThreadedSocket
+{
+// DECLARE_DYNAMIC(CBufferedSocket)
+public:
+ CBufferedSocket();
+ virtual ~CBufferedSocket();
+ void OnReceive( int nErrorCode );
+ void OnSend( int nErrorCode );
+ void OnConnect(int nErrorCode);
+ void OnWakeup();
+ virtual void OnReceive( char *line );
+ virtual void Accept(CBufferedSocket& rConnectedSocket,
+ SOCKADDR* lpSockAddr = NULL, int* lpSockAddrLen = NULL);
+ void SetSeparator( char sep );
+ void Send ( const char * data );
+protected:
+ bool connected; /* wait to be connected before sending any Data */
+ char separator;
+ /* buffer de reception de l'application */
+#define MAX_BUFFER 2048
+ // MAX_BUFFER +1 pour ajouter \0 a la fin
+ char buf[MAX_BUFFER+1];
+ char *ptr;
+ // Buffer Emission
+ CRITICAL_SECTION m_CritSection;
+ list<string> buf_out;
+};
+
+#endif // !defined(AFX_BUFFEREDSOCKET_H__ECAC808B_3B4D_11D3_8A1E_00A0245B298A__INCLUDED_)