나는 C++ 네트워크 응용 프로그램을 만들고 서버를 만들지 만 이상한 문제가 있습니다. 내가 청취 할 때 연결을 기다려야하지만 응용 프로그램은 수신 대기 호출이없는 경우 계속됩니다. 't은 exist.This 내 코드입니다 : 나는 또한 문제가 있었다 있는지 비활성화 방화벽이 main.I에서 serverStart 호출 오전C++ winsock 이상한 오류
#include "includes.hpp"
using namespace std;
SOCKET sv;
WSADATA w;
int serverStart(int port)
{
int error = WSAStartup(0x0202,&w);
if(error)
{
fprintf(stderr,"Error de startup:%i",error);
return false;
}
if(w.wVersion != 0x0202)
{
fprintf(stderr,"Error versión incorrecta de wsadata: Esperada 202.Obtenida %X",w.wVersion);
WSACleanup();
return false;
}
SOCKADDR_IN addr;
addr.sin_family = AF_INET;
addr.sin_port = htons(port);
addr.sin_addr.s_addr = htonl(INADDR_ANY);
sv = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);
if(sv == INVALID_SOCKET)
{
fprintf(stderr,"Error de socket");
return false;
}
if(bind(sv,(LPSOCKADDR)&addr,sizeof(addr)) == SOCKET_ERROR){
fprintf(stderr,"Error de bind");
return false;
}
fprintf(stdout,"Listen..");
listen(sv,SOMAXCONN);
fprintf(stdout,"Fin");
}
하지만 일을하지 않았다.
감사
아마도 '듣기'에 대한 호출이 실패했을 수 있습니다. 이 함수는 호출이 성공했는지 또는 실패했는지를 알기 위해 사용할 수있는'int'를 반환합니다. 그 반환 코드를 잡고 그것이 무엇인지 확인하십시오. 오류 코드와 그 의미를 [청취 할 문서 페이지] (http://msdn.microsoft.com/en-us/library/windows/desktop/ms739168(v=vs.85).aspx)에서 확인할 수 있습니다. – Ove
듣기가 0 – Cako