解决方案 »
- 一个关于SendMessage和多线程的问题,大家帮忙看看
- 我建了一个多文档工程 在toolbar中加入了几个图像处理的按钮 比如说灰度转换 要用matlab引擎实现 要能够实现处理的话 必须得到图像文件的
- 用Visual Assist的进来看一下
- listctrl 放在coolbar中,,当删除多行的时候会发白闪一下,过程很明显
- 如何在线程中设置窗口中某个Edit控件的焦点?详情请入内:
- 文件夹加密的问题(20)(DzqSuper)
- 关于"运行时库"的五个问题:
- 怎样获得局域网内所有的计算机的名字及其IP地址?
- 请问那位大侠能帮我,自动化Word,有点难度(今天没分了,收到答复后第二个工作日再加分)
- 各位大哥,小弟请教一个问题,在一个对话框中采用一个CStaic控件,在该控件中由下而上以滚动方式显示一段文本信息,如有源代码或demo敬请附上,本人不胜感激
- 这不科学 ,MIDL 怎么了 ,VS6 升级到 VS2013 碰到的问题
- winform程序多次收到WM_DEVICECHANGE 里的DBT_DEVICEREMOVECOMPLETE消息
#include "StdAfx.h"
#include "ProxyC.h"
#include <process.h>
#include <winsock2.h>
#include <afx.h>
#pragma comment(lib,"ws2_32.lib")CProxyC* pThis=NULL;
CProxyC::CProxyC(void)
{
WSADATA wasData;
WSAStartup(MAKEWORD(2,2),&wasData);
this->m_pWndView=NULL;
this->socketManager=SOCKET_ERROR;
pThis=this;
}CProxyC::~CProxyC(void)
{
WSACleanup();
}VOID CProxyC::OnPostNotif(TCHAR* opNotif)
{
if(this->m_pWndView!=NULL)
{
this->m_pWndView->SendMessage(NOTIF_MSG_SHOW,(WPARAM)opNotif);
}
}
BOOL CProxyC::OnStartClientListen(UINT nPort)
{
HANDLE hServer = (HANDLE)_beginthreadex( NULL,
NULL,
this->ClientListenProc,
(LPVOID)nPort,
NULL,
NULL
);
if(NULL == hServer)
{
return FALSE;
}
return TRUE;
}
unsigned WINAPI CProxyC::ClientListenProc(LPVOID lpVoid)
{
pThis->socketManager=socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(SOCKET_ERROR==pThis->socketManager)
{
pThis->OnPostNotif(_T("连接失败!"));
return 1;
}
struct sockaddr_in srvaddr;
srvaddr.sin_family=AF_INET;
srvaddr.sin_port=htons((UINT)lpVoid);
srvaddr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//本地回路地址
int nSrvaddrlen= sizeof(srvaddr);
int i=connect(pThis->socketManager,(struct sockaddr*)&srvaddr,nSrvaddrlen);
if( i == SOCKET_ERROR)
{
pThis->OnPostNotif(_T("Client socket connect error!"));
closesocket(pThis->socketManager);
}
pThis->OnPostNotif(_T("Client socket connect OK!"));
char bufSend[MAXBUFSIZE];
char bufRecv[MAXBUFSIZE];
int nsendlen;
memset(bufSend,0,MAXBUFSIZE);
memset(bufRecv,0,MAXBUFSIZE);
strcpy_s(bufSend,MAXBUFSIZE,inet_ntoa(srvaddr.sin_addr));
nsendlen=send(pThis->socketManager,bufSend,strlen(bufSend),0);
if(0>=nsendlen)
{
return 1;
}
//r=recv(ServerProxy,bufRecv,MAXBUFSIZE,0);
return 0;
}
看不出什么东西, 具体的去调试