客户端和服务端是两个类
文件传输:
//客户端
public static void file() throws IOException{
//1
Socket socket = new Socket("localhost",8888);
//2
InputStream is = new BufferedInputStream(new FileInputStream("src/flower.jpg"));
OutputStream os = new BufferedOutputStream(socket.getOutputStream());
byte[] flush = new byte[1024];
int len = -1;
while ((len = is.read(flush))!=-1){
os.write(flush,0,len);
}
os.flush();
//3
os.close();
socket.close();
}
//服务端
public static void file() throws IOException{
//1
ServerSocket server = new ServerSocket(8888);
//2
Socket socket = server.accept();
//用浏览器访问本机就会建立联系,输出下面这句话
System.out.println("一个客户端建立了连接");
//3
InputStream is = new BufferedInputStream(socket.getInputStream());
OutputStream os = new BufferedOutputStream(new FileOutputStream("src/flower1.jpg"));
byte[] flush = new byte[1024];
int len = -1;
while ((len = is.read(flush))!=-1){
os.write(flush,0,len);
}
os.flush();
//4
os.close();
is.close();
socket.close();
server.close();//服务器一般是不会关的
}
双向一个客户登录:这个是为了更好理解多线程多个客户登录
//客户端
public static void twoLogon() throws IOException{
//1
Socket socket = new Socket("localhost",8888);
//2
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.println("请输入用户名");
String uname = br.readLine();
System.out.println("请输入密码");
String upwd = br.readLine();
//发出请求
DataOutputStream dos =