SOCKETs: accept im Thread
-
Hi,
ich habe ein Problem mit der accept Funktion die ich in einem Thread aufrufen möchte. Sobald sie aufgerufen wird erhalte ich folgende FehlermeldungDebug Assertion Failed!
Program: ...sual studio... sprintf.c
Line: 110Expression: (string != NULL)
...//Server Starten WSADATA wsa; WSAStartup(MAKEWORD(2,0),&wsa); SOCKADDR_IN addr; this->m_accept = socket(AF_INET, SOCK_STREAM, 0); if(this->m_accept == INVALID_SOCKET) return -1; memset(&addr,0,sizeof(SOCKADDR_IN)); addr.sin_family=AF_INET; addr.sin_port=htons(PORT); addr.sin_addr.s_addr=INADDR_ANY; if(bind(this->m_accept, (SOCKADDR*)&addr, sizeof(SOCKADDR_IN)) == SOCKET_ERROR) return -1; if(listen(this->m_accept, 10) == SOCKET_ERROR) return -1; thread.start((void*)this); //Der Thread DWORD Run(LPVOID arg) { Server* parent = (Server*)arg; SOCKET tmp = 0; while(true) { tmp = accept(parent->m_accept, NULL, NULL); parent->m_connected.push_back(tmp); } }Was mache ich falsch? Liegt es an dem Thread?