TCP服务端 java.net.ServerSocket类
构造方法 ServerSocket(int port):创建一个TCP服务端,并监听指定端口
成员方法 Socket accept():监听数据,会阻塞,收到数据后返回Socket对象
void close():关闭服务端ServerSocket
TCP客户端 java.net,Socket类
构造方法 Socket(String ip, int port):创建TCP客户端对象
成员方法 OutputStream getOutputStream():获取输出流对象,用于发送数据
InputStream getInputStream():获取输入流,用于接受数据
void shutdownOutput():关闭输出流,告知服务端数据发送完毕
void close():关闭客户端Socket
两端之间以 IO字节流 进行通信
服务端没有IO留,是通过获取到每个客户端对象(Socket)的IO流来进行通信的
java.net.Socket类:TCP客户端
void shutdownOutput():关闭输出流,告知服务端数据发送完毕
服务端优化
1、写入文件名相同导致覆盖:上传文件命名规则:域名+毫秒值+随机数
2、上传一个文件服务端就结束了,如何让服务端不停止,一致接受文件上传:
将serverSocket.accept()直到最后的操作放入死循环中
3、同一个线程读大文件比较慢,改成多线程:
得到Socket客户端对象后的操作全都放在子线程中执行
模拟B/S案例(Browser/Server)