我在用TCP编程时,当客户机发出的connect时我保存了所有与服务器连接的客户机的SOCKADDR信息,当客户机断开连接时,会发出FD_CLOSE事件,我想接到这个事件后,知道是哪一台机子,断开的连接,也就是知道断开的连接的客户机的SOCKADDR信息。
解决方案 »
- [急~!!谢谢~~!!]不用DDK如何实现USB盘的拔除..
- 急!(mfc)中怎样让工具条上的一个按钮在某一条件下变为非击活状态(即变灰)?在线等
- 我问一个问题
- 请问:画出很多个矩形,怎样可以用鼠标拖动其中的任意一个?谢谢!
- Select * from A,B where A.a*=B.a ??
- CChildFrame中怎么向CMainFrame发送消息?
- 关于候俊杰《深入浅出MFC》中示例程序scribble的一个小问题,UP也有分
- 我现在每次在vc中运行我的程序,他总是告诉我One or more files are outof date or do not exist让我重新编译,怎么解决这个问题?
- 关于图标资源的应用的例子
- ------ 求 VC WinDiff 或 linux diff 的源代码?-------
- 有关AfxMessageBox和MessageBox的问题?
- 怎样得到CListCtrl中的某行的某列的内容啊?(在线等……)
2)如果用winsock,可以用receivefrom中的形参中返回。
SOCKET s,
struct sockaddr FAR *addr, //这是一个指向sockaddr结构的指针
int FAR *addrlen
);struct sockaddr theclient;
accept( thesocketfd, &theclient, sizeof( struct sockaddr ) );struct sockaddr {
u_short sa_family;
char sa_data[14];
}; struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};一切信息都可以从这里得到。
typedef struct
{
SOCKET sock;
char IP[10];
}SOCKSTRUCT;
当执行closesocket后可取得socket的头地址然后将地址加上sizeof(SOCKET)就可得到IP的头地址
FD_CLOSE Want to receive notification of socket closure