线程调用 socket编程
我想要用socket编程服务器程序 在线程外完成了sock的创建和绑定,但是在线程内,不知道哪里出问题了,完成不了accept() 可能是句柄什么的出问题了,请大侠们指点。
下面是部分程序
UINT thread(LPVOID p)
{
char buff[100];
CSize size;
size.cx=0;
size.cy=30;
int s=1,msgcount,loop=1,flag=0;
CCSocketDlg *dlg1=(CCSocketDlg*)AfxGetApp()->GetMainWnd();
//获得客户端数量
msgcount=dlg1->getcount();
if (msgcount==-1)
loop=0;
if(loop)
{
s=1;
dlg1->msgsock[msgcount]=accept(dlg1->sock,(sockaddr*)&(dlg1->serv),&(dlg1->addlen));
if (dlg1->msgsock[msgcount]==INVALID_SOCKET)
{
dlg1->m_edit.SetWindowText("Error accept");
dlg1->m_list.InsertItem(dlg1->count++,"accept Error");
AfxMessageBox("accept error");
}
else
{
//启动线程
这是在CCSocketDlg m_CSocketDlg中调用的线程 我觉得是这句出问题了
CCSocketDlg *dlg1=(CCSocketDlg*)AfxGetApp()->GetMainWnd();