123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279 |
- /*
- * Copyright: JessMA Open Source (ldcsaa@gmail.com)
- *
- * Version : 3.6.1
- * Author : Bruce Liang
- * Website : http://www.jessma.org
- * Project : https://github.com/ldcsaa
- * Blog : http://www.cnblogs.com/ldcsaa
- * Wiki : http://www.oschina.net/p/hp-socket
- * QQ Group : 75375912
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
- #include "stdafx.h"
- #include "HPSocket.h"
- #include "TcpServer.h"
- #include "TcpAgent.h"
- #include "TcpClient.h"
- #include "TcpPullServer.h"
- #include "TcpPullClient.h"
- #include "TcpPullAgent.h"
- #include "TcpPackServer.h"
- #include "TcpPackClient.h"
- #include "TcpPackAgent.h"
- #include "UdpServer.h"
- #include "UdpClient.h"
- #include "UdpCast.h"
- #include "HttpServer.h"
- #include "HttpAgent.h"
- #include "HttpClient.h"
- /*****************************************************************************************************************************************************/
- /****************************************************************** TCP/UDP Exports ******************************************************************/
- /*****************************************************************************************************************************************************/
- HPSOCKET_API ITcpServer* HP_Create_TcpServer(ITcpServerListener* pListener)
- {
- return new CTcpServer(pListener);
- }
- HPSOCKET_API ITcpAgent* HP_Create_TcpAgent(ITcpAgentListener* pListener)
- {
- return new CTcpAgent(pListener);
- }
- HPSOCKET_API ITcpClient* HP_Create_TcpClient(ITcpClientListener* pListener)
- {
- return new CTcpClient(pListener);
- }
- HPSOCKET_API ITcpPullServer* HP_Create_TcpPullServer(ITcpServerListener* pListener)
- {
- return (ITcpPullServer*)(new CTcpPullServer(pListener));
- }
- HPSOCKET_API ITcpPullAgent* HP_Create_TcpPullAgent(ITcpAgentListener* pListener)
- {
- return (ITcpPullAgent*)(new CTcpPullAgent(pListener));
- }
- HPSOCKET_API ITcpPullClient* HP_Create_TcpPullClient(ITcpClientListener* pListener)
- {
- return (ITcpPullClient*)(new CTcpPullClient(pListener));
- }
- HPSOCKET_API ITcpPackServer* HP_Create_TcpPackServer(ITcpServerListener* pListener)
- {
- return (ITcpPackServer*)(new CTcpPackServer(pListener));
- }
- HPSOCKET_API ITcpPackAgent* HP_Create_TcpPackAgent(ITcpAgentListener* pListener)
- {
- return (ITcpPackAgent*)(new CTcpPackAgent(pListener));
- }
- HPSOCKET_API ITcpPackClient* HP_Create_TcpPackClient(ITcpClientListener* pListener)
- {
- return (ITcpPackClient*)(new CTcpPackClient(pListener));
- }
- HPSOCKET_API IUdpServer* HP_Create_UdpServer(IUdpServerListener* pListener)
- {
- return new CUdpServer(pListener);
- }
- HPSOCKET_API IUdpClient* HP_Create_UdpClient(IUdpClientListener* pListener)
- {
- return new CUdpClient(pListener);
- }
- HPSOCKET_API IUdpCast* HP_Create_UdpCast(IUdpCastListener* pListener)
- {
- return new CUdpCast(pListener);
- }
- HPSOCKET_API void HP_Destroy_TcpServer(ITcpServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_TcpAgent(ITcpAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_TcpClient(ITcpClient* pClient)
- {
- delete pClient;
- }
- HPSOCKET_API void HP_Destroy_TcpPullServer(ITcpPullServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_TcpPullAgent(ITcpPullAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_TcpPullClient(ITcpPullClient* pClient)
- {
- delete pClient;
- }
- HPSOCKET_API void HP_Destroy_TcpPackServer(ITcpPackServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_TcpPackAgent(ITcpPackAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_TcpPackClient(ITcpPackClient* pClient)
- {
- delete pClient;
- }
- HPSOCKET_API void HP_Destroy_UdpServer(IUdpServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_UdpClient(IUdpClient* pClient)
- {
- delete pClient;
- }
- HPSOCKET_API void HP_Destroy_UdpCast(IUdpCast* pCast)
- {
- delete pCast;
- }
- /*****************************************************************************************************************************************************/
- /******************************************************************** HTTP Exports *******************************************************************/
- /*****************************************************************************************************************************************************/
- HPSOCKET_API IHttpServer* HP_Create_HttpServer(IHttpServerListener* pListener)
- {
- return (IHttpServer*)(new CHttpServer(pListener));
- }
- HPSOCKET_API IHttpAgent* HP_Create_HttpAgent(IHttpAgentListener* pListener)
- {
- return (IHttpAgent*)(new CHttpAgent(pListener));
- }
- HPSOCKET_API IHttpClient* HP_Create_HttpClient(IHttpClientListener* pListener)
- {
- return (IHttpClient*)(new CHttpClient(pListener));
- }
- HPSOCKET_API void HP_Destroy_HttpServer(IHttpServer* pServer)
- {
- delete pServer;
- }
- HPSOCKET_API void HP_Destroy_HttpAgent(IHttpAgent* pAgent)
- {
- delete pAgent;
- }
- HPSOCKET_API void HP_Destroy_HttpClient(IHttpClient* pClient)
- {
- delete pClient;
- }
- /*****************************************************************************************************************************************************/
- /*************************************************************** Global Function Exports *************************************************************/
- /*****************************************************************************************************************************************************/
- HPSOCKET_API LPCTSTR HP_GetSocketErrorDesc(EnSocketError enCode)
- {
- return ::GetSocketErrorDesc(enCode);
- }
- HPSOCKET_API DWORD SYS_GetLastError()
- {
- return ::GetLastError();
- }
- HPSOCKET_API int SYS_WSAGetLastError()
- {
- return ::WSAGetLastError();
- }
- HPSOCKET_API int SYS_SetSocketOption(SOCKET sock, int level, int name, LPVOID val, int len)
- {
- return ::SSO_SetSocketOption(sock, level, name, val, len);
- }
- HPSOCKET_API int SYS_GetSocketOption(SOCKET sock, int level, int name, LPVOID val, int* len)
- {
- return ::SSO_GetSocketOption(sock, level, name, val, len);
- }
- HPSOCKET_API int SYS_IoctlSocket(SOCKET sock, long cmd, u_long* arg)
- {
- return ::SSO_IoctlSocket(sock, cmd, arg);
- }
- HPSOCKET_API int SYS_WSAIoctl(SOCKET sock, DWORD dwIoControlCode, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer, LPDWORD lpcbBytesReturned)
- {
- return ::SSO_WSAIoctl(sock, dwIoControlCode, lpvInBuffer, cbInBuffer, lpvOutBuffer, cbOutBuffer, lpcbBytesReturned);
- }
- HPSOCKET_API int SYS_SSO_NoDelay(SOCKET sock, BOOL bNoDelay)
- {
- return ::SSO_NoDelay(sock, bNoDelay);
- }
- HPSOCKET_API int SYS_SSO_DontLinger(SOCKET sock, BOOL bDont)
- {
- return ::SSO_DontLinger(sock, bDont);
- }
- HPSOCKET_API int SYS_SSO_Linger(SOCKET sock, USHORT l_onoff, USHORT l_linger)
- {
- return ::SSO_Linger(sock, l_onoff, l_linger);
- }
- HPSOCKET_API int SYS_SSO_RecvBuffSize(SOCKET sock, int size)
- {
- return ::SSO_RecvBuffSize(sock, size);
- }
- HPSOCKET_API int SYS_SSO_SendBuffSize(SOCKET sock, int size)
- {
- return ::SSO_SendBuffSize(sock, size);
- }
- HPSOCKET_API int SYS_SSO_ReuseAddress(SOCKET sock, BOOL bReuse)
- {
- return ::SSO_ReuseAddress(sock, bReuse);
- }
- HPSOCKET_API BOOL SYS_GetSocketLocalAddress(SOCKET socket, TCHAR lpszAddress[], int* piAddressLen, USHORT* pusPort)
- {
- return ::GetSocketLocalAddress(socket, lpszAddress, *piAddressLen, *pusPort);
- }
- HPSOCKET_API BOOL SYS_GetSocketRemoteAddress(SOCKET socket, TCHAR lpszAddress[], int* piAddressLen, USHORT* pusPort)
- {
- return ::GetSocketRemoteAddress(socket, lpszAddress, *piAddressLen, *pusPort);
- }
|