做windows有关socket的课程设计问题 用MFC做的..遇到个问题找不到原因
线程里代码如图,还有响应消息的函数..问题在于,对方发一次数据(对方的代码绝对正确),这边的recv会接收多次..甚至有时候对方没发数据,recv也会接不断收到空串而不因为对方没发而阻塞(两种情况貌似是随机出现),然后响应函数不断响应..如果对方是发送了数据的情况...那么数据会被在显示的文本空间中反复出现..如果对方是没发数据的情况先出现这个异常..那么显示文本会反复出现“烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫烫......”(你懂的) 求有经验的前辈告知是什么缘由,如果觉得我描述不够看得懂,加qq879410270 ~~
有一些什么box什么的是我找原因的时候添加的一些代码..错误如我说所说
有一些什么box什么的是我找原因的时候添加的一些代码..错误如我说所说
DWORD WINAPI CWINCEDlg::FunProc(
LPVOID lpParameter // thread data
)
{
MessageToTh *pmes=(MessageToTh *)lpParameter;
char receive[100];
while(1)
{
recv(pmes->sock,receive,100,0);
CString *ps=new CString(receive);
::PostMessage(pmes->hwnd,WM_RECVDATA,0,(LPARAM)ps);
::MessageBox(pmes->hwnd,"bbbb",NULL,MB_OK);
}
return 0;
}
LRESULT CWINCEDlg::OnRecvData(WPARAM wparam,LPARAM lparam)
{
MessageBox("aaaa");
CString *ps=(CString *)lparam;
CString oldstr;
this->GetDlgItemText(IDC_EDIT1,oldstr);
oldstr+="\r\n";
char a=0;
this->SetDlgItemText(IDC_EDIT1,oldstr+(*ps)+a);a++;
delete(ps);
return 0;
}
...全文
相关推荐
c++/MFC 极为简单的socket实例
最简单的mfc socket实例,适合新手。里面有服务端和客户端代码,先运行服务端,再运行客户端。
mfc中socket字符接收不完整unicode问题
一:字符编码详解(ascii,utf-8,unicode,gbk,gb2312,iso8859-1等) 1. ASCII 我们需要了解的最早编码是ASCII码。它用7个二进制位来表示,由于那个时期生产的大多数计算机使用8位大小的字节,因此用户不仅可以存放所有可能的 ASCII字符,而且有整整一位空余下来。 由于字节有多达8位的空间,因此许多人在想:“呀!我们可以把128~255
MFC Socket接收不到数据的系统性排查与解决方案
Socket网络编程是构建客户端/服务器应用的基础技术,它通过操作系统提供的套接字接口实现进程间通信。其核心原理是在TCP/IP协议栈上建立连接、传输数据流。在Windows平台,MFC框架通过CAsyncSocket和CSocket类对原生WinSock API进行了面向对象封装,简化了异步事件处理和阻塞式调用,提升了开发效率。然而,这种封装也引入了特有的复杂性,尤其是在事件驱动模型、缓冲区管理和线程同步方面。当程序逻辑正确但Socket接收端却陷入沉默时,这通常不是单一故障,而是网络层、MFC事件机制与
MFC TCP Socket通信简单的小例子
MFC TCP Socket通信简单的小例子!
MFC socket 文件传输
c++编写的 MFC socket 文件传输 编译通过 可直接运行


网络编程
