一、各个选项
1、no_delay
2、no_linger:
(1)3600:3600是宽容的时间 ,准许给你3600毫秒来发送剩余的数据
(2)0:不等了
3、so_reuseaddr:是否允许绑定端口,即使是timeout已经绑定状态(在第一次绑定之前)
4、so_rcvbuf:
5、so_sndbuf:设置输出数据缓冲区的大小,和上面的在UDP里面很重要
6、so_keepalive:判断客户端那是否在线, 比如:前台是用户app 后台是数据库
每隔几分钟发送一个数据报
7、so-oobinline:可以发送一个紧急数据 仅仅支持一个字节
8、so_timeout:超时:我进行读输入流操作可能会阻塞,对方可能一直不发 等着 阻塞状态
输入流等待的时间
(1)0:无线等待
(2)数字:就等这么长时间
二、serversocket:PPT中
三、多编程问题
1、thread:start是thread的方法 client extends一个thread run方法中写自己的业务逻辑(线程池?)
2、runable
四、sreversocket的做用户是通信 世邦低昂通信关系的?
1、时间点?
2、队列?
3、通常不用绑定ip 因为一般一个电脑一个网卡(多个网卡要绑定,是服用不是负载均衡)
4、80端口绑定程序 用ide写程序时 有个坏习惯:选运行 要先把之前的运行给关了
5、设定的backlog是操作系统在维护队列 因此很长可能是不可取的
6、在服务端接受用户的连接请求并建立socket之前 用户发出的不是一个socket(?)
accept方法是阻塞的
7、尝试建立每个端口的服务 如果建立不成就是占用了 当然见了得马上关了
也可以用socket可以检查是否占用 但是慢(有超时检测)
8、不同的timeout:so_timeout的超时 是accept的
(1)0永远等待
(2)否则是定时的等待
9、so_rcvbuf:另一个buf也是可以设置
10、端口绑定 与 关闭sock 与 connec 是独立的