LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 846|回复: 4

[求助]初学socket碰到的几个问题?

[复制链接]
发表于 2005-7-19 16:20:27 | 显示全部楼层 |阅读模式
1.listner 应该是一个无限循环的的过程。在listener.c中并没有体现这一点。那是在哪里做的呢?

2.在listener.c 和talker.c中main(int argc,char *argv[])函数的两个参数是什么意思?
(argv[1]是hostname?)

3.套接字阻塞是在什么情况下产生的?发生了阻塞后有什么后果?(不能传输数据?)要如何从阻塞状态出来呢?

4.非阻塞的套接字?(该套接字不会被阻塞一直处于忙等待状态?)

5.从一个非阻塞套接字读信息却又没有任何数据.这样返回的结果是什么呢?

6.int select(int numfds,fd_ *readfds,fd_set *writefds,fd_set **exceptfds,struct timeval *timeout)
numfds应该等于最高的文件描述符的值加1???
当函数 select() 返回的时候,readfds 的值修改为反映你选择的哪个 文件描述符可以读。????????(select( )的返回值应该是符合操作要求的套接字?)
发表于 2005-7-19 18:37:35 | 显示全部楼层
Post by 困难户
1.listner 应该是一个无限循环的的过程。在listener.c中并没有体现这一点。那是在哪里做的呢?

2.在listener.c 和talker.c中main(int argc,char *argv[])函数的两个参数是什么意思?
(argv[1]是hostname?)

3.套接字阻塞是在什么情况下产生的?发生了阻塞后有什么后果?(不能传输数据?)要如何从阻塞状态出来呢?

4.非阻塞的套接字?(该套接字不会被阻塞一直处于忙等待状态?)

5.从一个非阻塞套接字读信息却又没有任何数据.这样返回的结果是什么呢?

6.int select(int numfds,fd_ *readfds,fd_set *writefds,fd_set **exceptfds,struct timeval *timeout)
numfds应该等于最高的文件描述符的值加1???
当函数 select() 返回的时候,readfds 的值修改为反映你选择的哪个 文件描述符可以读。????????(select( )的返回值应该是符合操作要求的套接字?)



推荐一本书,《Unix Network Programing》第一卷
回复 支持 反对

使用道具 举报

发表于 2005-7-19 20:33:54 | 显示全部楼层
同意楼上的,确实是网络编程最经典的书
另外,你问问题的话,也请把你的例子代码一起贴出来啊
回复 支持 反对

使用道具 举报

发表于 2005-7-20 09:00:05 | 显示全部楼层
UNP is so good ...
回复 支持 反对

使用道具 举报

发表于 2005-8-6 13:31:44 | 显示全部楼层
steven 的书很多都是经典 UNP我看过,概念很清晰,讲的很详细,
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表