net.cpp

来自「WebCam Viewer Camera Server Version 1.0.」· C++ 代码 · 共 107 行

CPP
107
字号
#include <string.h>#include <sys/socket.h>#include <unistd.h>#include "net.h"#include "def.h"CSock::CSock(){	m_ListenSocket = 0;	m_Socket = 0;}CSock::~CSock(){}bool CSock::Socket(){	// Dojip	int so_reuseaddr = 1;	int ret;	m_ListenSocket = socket(PF_INET, SOCK_STREAM, 0);		if(!m_ListenSocket)		return false;	ret = setsockopt(m_ListenSocket, SOL_SOCKET, SO_REUSEADDR, 			&so_reuseaddr, sizeof(so_reuseaddr));	if (ret < 0)		return false;	return true;}bool CSock::Bind(){	bzero(&m_ServerAddr, sizeof(sockaddr_in));	m_ServerAddr.sin_family = AF_INET;	m_ServerAddr.sin_addr.s_addr = INADDR_ANY;	m_ServerAddr.sin_port = htons(m_iPort);	if(!bind(m_ListenSocket, (struct sockaddr *)&m_ServerAddr, sizeof(m_ServerAddr)))		return true;	else		return false;}bool CSock::Listen(){	if(!listen(m_ListenSocket, DF_MAX_CONNECT))		return true;	return false;}bool CSock::Init(int iPort){	m_iPort = iPort;	if(Socket())		if(Bind())			if(Listen())				return true;		return false;}int CSock::Accept(){	m_Socket = accept(m_ListenSocket, (struct sockaddr *)&m_ClientAddr, &m_ClientAddrLen);	return m_Socket;}int CSock::Send(char *pszData, int iDataLen){	return send(m_Socket, pszData, iDataLen, 0);}int CSock::Recv(char *pszBuff, int iBuffLen){	return recv(m_Socket, pszBuff, iBuffLen, 0);}void CSock::Disconnect(){	close(m_Socket);	close(m_ListenSocket);}/*///////////////////////////////////////////////////////////////////////////////////////////int Send(int iSocket, char *pszData, int iDataLen){	return send(iSocket, pszData, iDataLen, 0);//	return send(iSocket, pszData, iDataLen, MSG_DONTWAIT);}int Recv(int iSocket, char *pszBuff, int iBuffLen){	return recv(iSocket, pszBuff, iBuffLen, 0);//	return recv(iSocket, pszBuff, iBuffLen, MSG_DONTWAIT);}*////////////////////////////////////////////////////////////////////////////////////////////

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?