buffer

dorisdoris123 2011-04-11 12:26:03
我想请问一下各位,怎样从缓冲区读出数据,用什么函数实现呢?谢谢!
...全文
76 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ouyh12345 2011-04-12
  • 打赏
  • 举报
回复
socket都是按照字节流收、发的
具体的内容,得看格式,稍微复杂点的,都会封装成struct
dorisdoris123 2011-04-11
  • 打赏
  • 举报
回复
是我自己定义的bybuffer,之前是把服务器发送的指令存到缓冲区的,客户端不知道怎么读出来进行判断
luciferisnotsatan 2011-04-11
  • 打赏
  • 举报
回复
你这个缓冲区之什么缓冲区?
dorisdoris123 2011-04-11
  • 打赏
  • 举报
回复
void CServerDlg::OnDisabledusb()
{
// TODO: Add your control notification handler code here
BYTE byBuffer[256] = { 0 };
CString strText = "usb";
int nLen = strText.GetLength();
if (m_nSocketType == SOCK_UDP)
{
USES_CONVERSION;
SockAddrIn sin;
strcat((LPSTR)&byBuffer[sin.Size()], T2CA(strText));
nLen =nLen+ sin.Size();
}
else
{
USES_CONVERSION;
strcpy((LPSTR)byBuffer, T2CA(strText));
}
if (m_nSocketType == SOCK_UDP)
m_pCurServer->WriteComm( byBuffer, nLen+1, INFINITE);
else
{
// 发送到所有客户端
for(int i=0; i<MAX_CONNECTION; i++)
{
if (m_SocketManager[i].IsOpen() && (m_pCurServer = &m_SocketManager[i]))
m_SocketManager[i].WriteComm( byBuffer, nLen+1, INFINITE);
}
}
}

这是服务器通过点击按钮发送“usb”给客户端的程序,就是想知道,客户端怎么读出来进行判断
ouyh12345 2011-04-11
  • 打赏
  • 举报
回复
得先知道缓冲区的结构
赵4老师 2011-04-11
  • 打赏
  • 举报
回复
FIFO
deque
luciferisnotsatan 2011-04-11
  • 打赏
  • 举报
回复
贴代码,或者描述清楚些。
实在不理解你遇到的是什么问题。

你的服务器和客户端是什么?两个线程,两个进程还是两台电脑?

24,854

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧