服务器端如何识获取客户端的IP地址然后显示在列表控件中,请问该怎么做。另外列表控件其他列需要得到序号,设备地址。这两项得是唯一值
解决方案 »
- CDockablePane有AttachToTabWnd(),有没有分离函数?
- 怎么把3dmax2013做出来的.max装换成.x文件,panda在2013上面用不了
- 求急救。。。关于函数调用问题
- 使用WebBrowser控件时,如何区分自动弹出窗口
- SDI程序,给菜单添加事件处理程序的问题! 解决马上给分啊·
- 我在一本书上见到:CString Mid(int nFirst) const 和 CString Mid(int nFirst),两者什么区别?
- 怎么生成模态对话框
- 请问高手如何在多文档的ChildFrame中加菜单
- WinCE编程从哪里入手?
- 数据采集(紧急求助)
- Advanced INF Install
- 求吉大windows api程序设计 的电子书
SOCKET s,
struct sockaddr* addr,
int* addrlen
);看第三个参数;
typedef struct addrIP
{
ElemType data;
struct DuLNode *prior,*next;
}addrIP ,*DuLinkList;void InitList(DuLinkList *L)
{ /* 产生空的双向循环链表L */
*L=(DuLinkList)malloc(sizeof(addrIP));
if(*L)
(*L)->next=(*L)->prior=*L;
else
exit(OVERFLOW);
}
s = socket(AF_INET, SOCK_STREAM, IPPROTO_IP);
sockaddr_in tcpaddr;
int port = 5050;
tcpaddr.sin_family = AF_INET;
tcpaddr.sin_port = htons(port);
//tcpaddr.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
tcpaddr.sin_addr.S_un.S_addr = inet_addr( "127.0.0.1 ");
if (bind(s, (LPSOCKADDR)&tcpaddr, sizeof(tcpaddr)) == SOCKET_ERROR)
{
MessageBox(NULL, CString( "邦定错误! "), _T( "Error "), MB_OK);
return 0;
}
if (listen(s, 10) == SOCKET_ERROR)
{
MessageBox(NULL, CString( "监听错误! "), _T( "Error "), MB_OK);
return 0;
}
SOCKET s1;
sockaddr_in addrClient;
ZeroMemory(&addrClient, sizeof(addrClient)); int nLen = 0;
s1 = accept(s, (struct sockaddr *)&addrClient, &nLen);
TRACE( "对方IP:%s ", inet_ntoa(addrClient.sin_addr)); //这个就是客户端IP地址
if(s1 == -1)
{
TRACE( "%d\n ", WSAGetLastError());
MessageBox(NULL, CString( "接受数据错误! "), _T( "Error "), MB_OK);
return 0;
}