📄 tcpsocket.cpp
字号:
// TCPSocket.cpp: implementation of the CTCPSocket class.
//
//////////////////////////////////////////////////////////////////////
#include "stdafx.h"
#include "TCPSocket.h"
#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////
int CTCPSocket::Initialize()
{
WSADATA wsd;
return WSAStartup(MAKEWORD(2,2), &wsd);
}
int CTCPSocket::CleanUp()
{
return WSACleanup();
}
CTCPSocket::CTCPSocket(SOCKET s)
{
m_socket = s;
}
CTCPSocket::CTCPSocket()
{
m_socket = INVALID_SOCKET;
}
CTCPSocket::~CTCPSocket()
{
}
int CTCPSocket::Create()
{
m_socket = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
return m_socket;
}
int CTCPSocket::Bind(u_short port /* = DEFAULT_PORT */)
{
m_local.sin_addr.s_addr = htonl(INADDR_ANY);
m_local.sin_family = AF_INET;
m_local.sin_port = port;
return bind(m_socket, (struct sockaddr*)&m_local, sizeof(m_local));
}
int CTCPSocket::Listen(int backlog)
{
return listen(m_socket, backlog);
}
SOCKET CTCPSocket::Accept(sockaddr* addr /* = NULL */, int* addrlen /* = NULL */)
{
return accept(m_socket, addr, addrlen);
}
int CTCPSocket::Connect(DWORD ip, u_short port /* = DEFAULT_PORT */)
{
ip = htonl(ip);
m_foreign.sin_addr.s_addr = ip;
m_foreign.sin_family = AF_INET;
m_foreign.sin_port = port;
return connect(m_socket, (struct sockaddr*)&m_foreign, sizeof(m_foreign));
}
int CTCPSocket::Send(const char *pBuf, int len)
{
return send(m_socket, pBuf, len, 0);
}
int CTCPSocket::Recv(char *pbuf, int len)
{
return recv(m_socket, pbuf, len, 0);
}
int CTCPSocket::Close()
{
int ret;
ret = shutdown(m_socket,2);
return closesocket(m_socket);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -