这个问题很困惑,怎么能实时的显示recvfrom接受的数据!!

我辣椒哥 2007-05-28 10:35:29
类:CSocketNetwork
g_RecvBuf[0].AddTail(RecvBuf);//添加数据到队列

类:CNetworkMsgDlg

PUCHAR pRecvData;//全局变量
void CNetworkMsgDlg::OnMenuitem()
{
pRecvData = (PUCHAR)g_RecvBuf[0].RemoveHead(); //获取队列信息

}
//我用了个定时器5秒显示一次,但是这样有些数据不能显示
void CNetworkMsgDlg::OnTimer(UINT nIDEvent)
{
if(nIDEvent==1)
{
int i=0;
m_RecvBuf.InsertString(i++,(CString)pRecvData);
}
CDialog::OnTimer(nIDEvent);
}
怎样实现如果有数据发来马上显示到m_RecvBuf控件
...全文
182 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
star119119 2007-05-29
  • 打赏
  • 举报
回复
int WSAIoctl (
SOCKET s,
DWORD dwIoControlCode,
LPVOID lpvInBuffer,
DWORD cbInBuffer,
LPVOID lpvOUTBuffer,
DWORD cbOUTBuffer,
LPDWORD lpcbBytesReturned,
LPWSAOVERLAPPED lpOverlapped,
LPWSAOVERLAPPED_COMPLETION_ROUTINE lpCompletionROUTINE
);
种菜的 2007-05-29
  • 打赏
  • 举报
回复
自定义消息,收到数据后将数据发送消息到消息函数,就可以实时显示了。
thisisyjs 2007-05-28
  • 打赏
  • 举报
回复
不要用定时器,直接放在接收函数里面。如果收到的数据放到队列里的,那就另外开一个线程阻塞在队列等待数据。
我辣椒哥 2007-05-28
  • 打赏
  • 举报
回复
在多线程用WaitForSingleObject等待事件是否可行

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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