在编写简单的TCP进行传输的客户端和服务器端的程序时容易出现双方都在等待的状态: 主要原因是:
1:ServerSocket流中的阻塞方法accept
2:读取文件的read方法以及类似的readLine方法是阻塞式方法;
3:如果在客户端既有往服务器端发送数据,又有等待从服务器端进行接受数据,那么服务器端进行读取从客户端的数据,怎门就知道结束呢 如果客户端在写完数据之后,就关闭资源,那么此时服务器端,就会知道客户端结束了。如果客户端在发送数据之后没有立即关闭资源,而是立即等待
服务器端进行传送数据,那么此时客户端必须,在传递数据结束时,网socket流中写入结束标记:shutdownOutput();
4:打印流PrintWriter中的自动刷新问题;
还有编写客户端与服务端程序要与多线程技术相结合;因为可能同时有很多人访问同一个服务器;那么服务端必须采用多线程技术;
广播信息:就是将信息发送给该ip地址网络段的广,然后广播会发送给该网络段的所有有效的ip用户;
|
|