⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 peersocket.cpp

📁 缓冲 缓冲 缓冲 缓冲 缓冲 缓冲
💻 CPP
字号:
// PeerSocket.cpp: implementation of the PeerSocket class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "MultiBuffer.h"
#include "PeerSocket.h"

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

#define MINBUFLEN 6

#define DATA '0'
#define CTRL_READSOCKET_ERROR '2'

PeerSocket::PeerSocket()
{

}

PeerSocket::~PeerSocket()
{

}

int PeerSocket::read(void* aBuffer, int aBufLen) throw(SocketException)
{
	if(aBuffer==NULL||aBufLen<MINBUFLEN)return -1;
	char *buf = (char *)aBuffer;
	int len = 0;
    len = check(::recv(sock,buf,aBufLen,0),true);
	if(len==0||len==SOCKET_ERROR)return len;
	//Analyze received data
    char symbol;
	int datasize;
	sscanf(buffer,"%c%d",&symbol,&datasize);
	if(datasize==0)
	{
		printf("reach the end of socket read stream");
		len  = 0;
	}else if(datasize>0&&symbol!=DATA)
	{
		printf("upload server error:%c,%s",symbol,&buffer[6]);
		len = SOCKET_ERROR;
	}
	
	return len;
}

⌨️ 快捷键说明

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