2014-05-23 2 views
-3

'localhost'/ '127.0.0.1'또는 특정 포트 '5000'에 대한 데이터를 보내는 응용 프로그램이 있습니다. 이 포트는 이미 점유되었습니다. 내가 어떤 데이터가 '5000'포트에서 보내 졌는지보고 싶다면. 이것은 이하winsock에서 소켓을 바인딩하지 않고 데이터를받는 방법

난은 클라이언트 애플리케이션을 썼다

INT의 _tmain (INT의 ARGC을 _TCHAR *는 argv []) {

cout<<"\n Hi "<<endl; 

WSAData wsd; 

if(WSAStartup(MAKEWORD(2,2),&wsd)!=0) 
{ 
    cout<<"\n WSA Failed : "<<endl; 
    return 0; 
} 

SOCKET sock; 

int bytesRecv; 

char recvBuf[1024]="Hello"; 

sock=socket(AF_INET,SOCK_DGRAM,0); 

if(sock==SOCKET_ERROR) 
{ 
    cout<<"\n Socket Creation Failed"<<endl; 
    return 0; 
} 

SOCKADDR_IN client; 

int clientAddrSize=sizeof(client); 

client.sin_family=AF_INET; 
client.sin_addr.s_addr=inet_addr("127.0.0.1"); 
client.sin_port=htons(5000); 


if(connect(sock,(SOCKADDR *)&client,sizeof(client))==SOCKET_ERROR) 
{ 
    cout<<"\n Connection Failed "<<endl; 
    wprintf(L"Connection Failed %d",WSAGetLastError()); 

} 
else 
{ 
    cout<<"\n Connection Established "<<endl; 
} 



    while(sock!=SOCKET_ERROR) 
    { 
     //memset(recvBuf,'\0',1024); 

    bytesRecv=recvfrom(sock,recvBuf,50,0,(SOCKADDR *)&client,&clientAddrSize); 




    if (bytesRecv == SOCKET_ERROR) 
    { 
    wprintf(L"sendto failed with error: %d\n", WSAGetLastError()); 
    closesocket(sock); 
    WSACleanup(); 
    return 1; 
    //while(1); 
    } 
    puts(recvBuf); 




    cout<<"\n "<<bytesRecv<<endl; 


    cout<<"\n Sent Buffer : "<<recvBuf<<endl; 

    while(1); 

} 

    system("pause"); 
    return 0; 

}

가 '까지 잘 작동 bytesRecv = recvfrom (sock, recvBuf, 50,0, (SOCKADDR *) & 클라이언트, & clientAddrSize); '. WSAGetLastError를 던지거나받은 바이트 수를 제공하지 않습니다. 가능한 원인은 무엇 일 수 있습니다. 이 프로그램을 작동시키고 5000 포트에서 내 localhost로 전송 된 데이터를 보는 방법.

서버가 해당 위치에서 데이터를 보내는 것과 동일한 위치에서 데이터를 수신하도록 내 클라이언트 프로그램을 만들 수있는 방법.

답변

0

소켓에 대한 기본적인 이해가 부족합니다. 포트가 이미 사용 중이면 프로그램에서 데이터를 수신 할 수 없습니다. 그건 말이 안되며, 할 수만 있다면 엄청난 보안 문제가 될 것입니다.

다른 프로그램으로 전송되는 데이터를 보려면 Wireshark와 같은 네트워크 스니퍼가 필요합니다.

+0

Wireshark가 어떻게 데이터를 가져 와서 우리에게 보여줄 것입니까? 나는 그 데이터에 접근하여 그 데이터를 다른 애플리케이션에 사용하고 싶다. – Srinivas

관련 문제