又有问题了!帮我!

compboy1 2003-09-29 03:32:54
我真是笨,而且很懒,不愿意看书,问题有那么多!
这不,又有问题了:
/////////////////////////////////////////////
if (argc<3)
{
printf("usage: %s <server><data1>...<dataN>\n",argv[0]);
exit(1);
}

//get server IP address
ht=gethostbyname(argv[1]);

if (ht==NULL)
{
printf("%s: unknown host '%s' \n",argv[0],argv[1]);
exit(1);

}
printf("%s:sending data to '%s'(IP : %s) \n", argv[0],ht->h_name ,inet_ntoa(*(struct in_addr *)ht->h_addr_list [0]));

serv_addr.sin_family =ht->h_addrtype ;
memcpy((char *)&serv_addr.sin_addr .S_un .S_addr ,ht->h_addr_list [0],ht->h_length );

serv_addr.sin_port = htons(5000);
/////////////////////////////////////
这段代码,在server_socket程序中,它起到什么作用?
烦劳各位了!
...全文
47 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
liao2001 2003-09-29
  • 打赏
  • 举报
回复
to fireseed(奶油狗) :
怎么就会到“准备发送数据包”

这段代码仅仅是在对服务器套接字做准备,也就是初始化struct sockaddr_in。
--gethostbyname,通过主机名取得ip,详情自己看书
--serv_addr.sin_family =ht->h_addrtype; //指定通讯所在的域
--memcpy((char *)&serv_addr.sin_addr .S_un .S_addr ,ht->h_addr_list [0],ht->h_length );//获取网络字节序的ip
--serv_addr.sin_port = htons(5000);//指定网络字节序的端口

其它的都是一些输出语句,没什么可解释的,可以看看main(int argc,char **argv)的参数介绍
compboy1 2003-09-29
  • 打赏
  • 举报
回复
具体一些可以吗?
fireseed 2003-09-29
  • 打赏
  • 举报
回复
不完整,一开始从传入的参数得到了主机名,然后对主机名做了一下处理,下面应该是准备发送数据包了。
fireseed 2003-09-29
  • 打赏
  • 举报
回复
不完整,一开始从传入的参数得到了主机名,然后对主机名做了一下处理,下面应该是准备发送数据包了。
Wolf0403 2003-09-29
  • 打赏
  • 举报
回复
又笨又懒。。。一点不错

69,368

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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