C
Hi,
ich habe ein Problem mit der accept Funktion die ich in einem Thread aufrufen möchte. Sobald sie aufgerufen wird erhalte ich folgende Fehlermeldung
Debug Assertion Failed!
Program: ...sual studio... sprintf.c
Line: 110
Expression: (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?