0

hi,

I want to know how to get name of connected peer.

I am creating a simple client server application using winsock2. When I use getpeername() function it gives me IP of client machine.

After connecting i did following step

sockaddr_in peeraddr;
	int size = sizeof(peeraddr);
	
	getpeername(New_Socket, (struct sockaddr *)&peeraddr, &size);
	
	struct sockaddr_in *s = (struct sockaddr_in *)&peeraddr;
   
	char* IP = inet_ntoa(peeraddr.sin_addr);

	cout << "Accepted connection from " << Name << "\r\n";
2
Contributors
5
Replies
11
Views
7 Years
Discussion Span
Last Post by Excizted
0

I don't fully get what you want to know?
You want to get peer name, and right below you post the function to get peer name? :)

0

I just want to know the HOST name of client machine. But i am only getting IP address of that machine by using getpeername function. I am new in SOCKET programming so please help if i am doing any mistake.

Example:
Suppose my machines host name is "Test". I can retrieve this by calling gethostname function. But what about host name of client machine which is recently get connected to server.

0

I just want to know the HOST name of client machine. But i am only getting IP address of that machine by using getpeername function. I am new in SOCKET programming so please help if i am doing any mistake.

Example:
Suppose my machines host name is "Test". I can retrieve this by calling gethostname function. But what about host name of client machine which is recently get connected to server.

Aha.

Checking the official MSDN page for Winsock, I found gethostbyaddr which returns the name in a hostent structure.

http://msdn.microsoft.com/en-us/library/ms738521%28VS.85%29.aspx

http://msdn.microsoft.com/en-us/library/ms738552%28VS.85%29.aspx

If it does not give you the right name, you might just wanna use getHostName in the client app, and then sent the output back to the server?

1

hey thanks for help ;)

instead of using gethostbyaddr function i used getnameinfo Function.
It is giving the host name of client which is actually i want. Thanks buddy

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.