sockaddr_in 结构问题

Sander 2003-02-07 05:39:19
struct sockaddr_in {
short sin_family;
u_short sin_port;
struct in_addr sin_addr;
char sin_zero[8];
};
struct sockaddr_in destAddr;

destAddr.sin_addr.s_addr = inet_addr(m_szIPAddress);
如果我只知道dns如“www.sina.com"
我该怎样填此结构。不要用gethostbyname来获得ipaddress
...全文
79 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
everandforever 2003-02-11
  • 打赏
  • 举报
回复
BOOL *::Connect(LPCTSTR lpszHostAddress, UINT nHostPort)
{
USES_CONVERSION;

ASSERT(lpszHostAddress != NULL);

SOCKADDR_IN sockAddr;
memset(&sockAddr,0,sizeof(sockAddr));

LPSTR lpszAscii = T2A((LPTSTR)lpszHostAddress);
sockAddr.sin_family = AF_INET;

sockAddr.sin_addr.s_addr = inet_addr(lpszAscii);//这两句
if (sockAddr.sin_addr.s_addr == INADDR_NONE)

{
LPHOSTENT lphost;
lphost = gethostbyname(lpszAscii);
if (lphost != NULL)
sockAddr.sin_addr.s_addr = ((LPIN_ADDR)lphost->h_addr)->s_addr;
else
{
WSASetLastError(WSAEINVAL);
return FALSE;
}
}

sockAddr.sin_port = htons((u_short)nHostPort);

return Connect((SOCKADDR*)&sockAddr, sizeof(sockAddr));
}
曾经的猎狐 2003-02-11
  • 打赏
  • 举报
回复
gz
Sander 2003-02-11
  • 打赏
  • 举报
回复
谢谢,结贴
everandforever 2003-02-10
  • 打赏
  • 举报
回复
看 MFC 的代码啊,CONNECT 好长一个函数呢。
sniper81 2003-02-10
  • 打赏
  • 举报
回复
大概是它背着你调用了gethostbyname()吧~~呵呵
Sander 2003-02-10
  • 打赏
  • 举报
回复
我想知道
BOOL Connect( LPCTSTR lpszHostAddress, UINT nHostPort );

可以用www.sina.com
他是怎样作的
qrlvls 2003-02-08
  • 打赏
  • 举报
回复
IP地址吧,呵呵
yecao_kinux 2003-02-08
  • 打赏
  • 举报
回复
为什么不要用gethostbyname(),有这样的场合吗?
yanhuahui 2003-02-07
  • 打赏
  • 举报
回复
同上...
zhaolaoxin 2003-02-07
  • 打赏
  • 举报
回复
这种结构只能以ip地址的形式填写,用其他的办法先获得ip地址

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧