关于CDialog程序界面不能正常使用问题 我要CDialog下启动SOCKET监听后程序能正常通信,但程序的界面却死了,都不能点任务控件了。程序的界面也不能正常显示是怎么问题?怎么解决? SOCKET通信 我是自己写了一个类。程序一起用SOCKET就出问题了。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 请问 你们的SOCKET类一般是怎么写的?能否提供做参考。第一次写C++的程序请多帮助 不懂 SOCKET通信 不过界面死掉的话 最好把这些功能操作放到线程里。。 socket监听放在另一个线程中完成。或者SetTimer。 代码如下 我是用 原始的SOCKET 写的要怎么改啊。 如果用SetTimer 程序要怎么改? while(!kbhit()) //while(true) {//阻塞方法,获得一个客户Socket连接 SOCKET ClientSock = accept(m_listenSocket,(sockaddr*)&addrClient,&len); if( ClientSock == INVALID_SOCKET ) //无客户访问 { std::cout<<"接收错误\n"; m_Err = WSAGetLastError(); } else { try { //有客户连接请求被成功接受 char buf[102400]; memset( buf, 0, sizeof(char)*102400 ); //接收客户端传输过来的数据 int count = recv( ClientSock, buf, 102400, MSG_PEEK ); if( count>=8 ) {//printf( "服务器已经接收 %d 个字符:%s", n, buf ); DecodeBuf(buf,count, ClientSock); } }catch(...){} } //char sendbuffer[1024]; ////sprintf(sendbuffer,"Welcom %s!",inet_ntoa(addrClient.sin_addr)); ////向客户Socket发送数据 //send(sockConn,sendbuffer,strlen(sendbuffer)+1,0); //char recvbuffer[128]; ////从客户Soc接受数据 //recv(sockConn,recvbuffer,128,0); //printf("%s\n",recvbuffer); ////关闭Socket //closesocket(sockConn); } CreateThread(...)或AfxBeginThread(...)在线程函数里监听。 求《VC++实践与提高——数据库篇》的源代码!!! EditBox控件的问题,可能不太常用,请高手指教 c++在VC6.0中出现无法执行程序? 鼠标双击消息的问题 [高分给出]请教如何读取编辑框内的字符串到数组??? 请会 ISAPI EXT 的朋友们进来看看,如何用 WriteClient 发送响应头 ... 现在CSDN还有"可用分捐赠"这个功能吗? 如何使用Microsoft TTS进行语音的实现,UP有分! 请问,哪有播放MPEG格式视频文件的源程序? 是否每次对字符数组赋值前都必须初始化 CSplitterWnd!!! WCHAR* 转 PUSHORT
你们的SOCKET类一般是怎么写的?能否提供做参考。
第一次写C++的程序请多帮助
不过界面死掉的话 最好把这些功能操作放到线程里。。
要怎么改啊。 如果用SetTimer 程序要怎么改?
while(!kbhit()) //while(true)
{//阻塞方法,获得一个客户Socket连接
SOCKET ClientSock = accept(m_listenSocket,(sockaddr*)&addrClient,&len); if( ClientSock == INVALID_SOCKET ) //无客户访问
{
std::cout<<"接收错误\n";
m_Err = WSAGetLastError();
}
else
{
try
{
//有客户连接请求被成功接受
char buf[102400];
memset( buf, 0, sizeof(char)*102400 );
//接收客户端传输过来的数据
int count = recv( ClientSock, buf, 102400, MSG_PEEK );
if( count>=8 )
{//printf( "服务器已经接收 %d 个字符:%s", n, buf );
DecodeBuf(buf,count, ClientSock);
}
}catch(...){}
} //char sendbuffer[1024];
////sprintf(sendbuffer,"Welcom %s!",inet_ntoa(addrClient.sin_addr));
////向客户Socket发送数据
//send(sockConn,sendbuffer,strlen(sendbuffer)+1,0);
//char recvbuffer[128];
////从客户Soc接受数据
//recv(sockConn,recvbuffer,128,0);
//printf("%s\n",recvbuffer);
////关闭Socket
//closesocket(sockConn);
}
在线程函数里监听。