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

📄 beeo_interface.c

📁 基于beeo标准的数据加解密算法
💻 C
字号:
#include "beeo_Define.h"
#include "beeo_Core.h"

/*
 从网络上读取一个UDP报文。
 如果读到了数据但加密信道还没有成功建立,将返回RETURN_VALUE_WHEN_DATA_ABANDONED,并且使buff[0]=0;
 其他情况下,与原有操作系统的返回值一致。
*/
int PASCAL beeo_recvfrom(SOCKET s, char *buf, bsType len, bsType flag, SOCKADDR *addr, bsType *adlen)
{
	int ret;
	char tmp[2048];
	if(len>2048) len = 2048;
	
	ret = bs_Recvfrom(s, tmp, 2000, flag, (bsAddrType*)addr, adlen);
	if(ret<=0) return ret;

	ret = beeo_Decode(s, tmp, tmp, ret, addr, adlen[0]);
	if(len<ret) return -1;
	memcpy(buf, tmp, ret);
	return ret;
}

/*
 发送一个UDP报文。
 如果加密信道还没有成功建立,将返回RETURN_VALUE_WHEN_DATA_ABANDONED;
 其他情况下,与原有操作系统的返回值一致。
*/
int PASCAL beeo_sendto (SOCKET s, char *buf, bsType len, bsType flag, SOCKADDR *addr, bsType adlen )
{
	int ret;
	char tmp[2048];

	ret=beeo_established(s, addr, adlen);
	if(!ret)
	{
		ret = beeo_force_setup(s, 0, addr, adlen);
		beeo_BackupSendto(s, buf, len, flag, addr, adlen);
		return ret;
	}
	else
	{
		if(len>2048) len = 2048;
		beeo_Encode(s, buf, tmp, len, addr, adlen, ret);
		ret = bs_Sendto(s, tmp, len, flag, (bsAddrType*)addr, adlen);
		return ret;
	}
}

⌨️ 快捷键说明

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