在socket中,客户端与服务器端建立连接后,服务器端如何知道是哪台机器与其建立连接的

在socket中,客户端与服务器端建立连接后,服务器端怎么知道是哪台机器与其建立连接的
在socket中,客户端与服务器端建立连接后,服务器端怎么知道是哪台机器与其建立连接的    
就是怎么知道客户端的IP地址?

还有socket长连接时候,我怎么时时刻刻的查看客户端与服务器端是否断开了

------解决方案--------------------
Socket.RemoteAddress
Socket.RemoteHost
服务器端可以给连接上的客户端发送测试数据,一定时间内回收到客户端反应的可认为在线.
------解决方案--------------------
自己定义活动包探测客户端是否在线,不要用windows的全局活动包检测,至于长连接就是tcp哦。
------解决方案--------------------
--------------------
我用API实现socket 能不能让程序既是服务器端,又是客户端
--------------------

意思是在同一个程序里客户端连接服务器?可以的,多个线程
------解决方案--------------------
用getsockname和getpeername