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

📄 connect.cpp~

📁 底层robocup3d源码。 suse10.0 kdevelop 开发.
💻 CPP~
字号:
#include "connect.h"namespace MSpace {Connect::Connect(){   MessageLength=0;   mReadFd = 3;   mWriteFd = 4;}void Connect::PutOutput(const char* out){     strcpy(mBuffer + sizeof(long), out);     unsigned int len = strlen(out);     unsigned int netlen = htonl(len);     memcpy(mBuffer, &netlen, sizeof(netlen));     write(mWriteFd, mBuffer, len + sizeof(netlen));}void Connect::PutOutputs(const std::string& str){         PutOutput(str.c_str());}bool Connect::SelectInput(){     fd_set readfds;     FD_ZERO(&readfds);     FD_SET(mReadFd, &readfds);     return select(mReadFd+1, &readfds, 0, 0,0) > 0;}bool Connect::GetInput(){     // read from commserver     memset(mBuffer, 0, sizeof(mBuffer));     if(!SelectInput()) return false;     unsigned int bytesRead = read(mReadFd, mBuffer, sizeof(mBuffer)); // read count     if(bytesRead < sizeof(unsigned int)) return false;     unsigned int msgLen = ntohl(*(unsigned int*)mBuffer);                            MessageLength=msgLen;     unsigned int msgRead = bytesRead - sizeof(unsigned int);     char* offset = mBuffer + bytesRead;     while(msgRead < msgLen){          if(!SelectInput()) return false;          msgRead += read(mReadFd, offset, sizeof(mBuffer) - msgRead);          offset += msgRead;     }     (*offset) = 0;     return true;}char* Connect::GetMsg(){     return mBuffer+ sizeof(long);}Connect::~Connect(){}}

⌨️ 快捷键说明

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