58,454
社区成员
发帖
与我相关
我的任务
分享
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
//一个简答的图片传输程序
public class ImageServer {
static ServerSocket server; //服务端
static Socket connectToClient; //至客户端的套接字连接
static ObjectInputStream inFromClient; //连接至客户端的对象输入流
static ObjectOutputStream outToClient; //连接至客户端的对象输出流
public static void main(String[] args) {
//建立连接
try {
server = new ServerSocket(8500); //服务端启用端口8500
connectToClient = server.accept(); //接受一个客户端
inFromClient = new ObjectInputStream(connectToClient.getInputStream()); //连接输入流
outToClient = new ObjectOutputStream(connectToClient.getOutputStream()); //连接输出流
System.out.println("客户端:"+connectToClient.getInetAddress().toString()+"已经连接上");
byte []buffer = new byte[1024]; //缓冲区
FileInputStream fin = new FileInputStream(new File("E:\\google.jpg")); //文件输入流
System.out.println("复制文件:"+fin.available()+" 个字节");
int length = 1;//实际读到的字节数
System.out.println("开始发送图片...");
while(length>0){ //读入文件到字节缓冲区并发送
length = fin.read(buffer, 0, 1024); //从文件输入流中读出的字节数
outToClient.write(buffer);
outToClient.flush();
}
System.out.println("发送图片结束...");
fin.close(); //关闭文件输入流
outToClient.close(); //关闭连接资源
inFromClient.close();
connectToClient.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
import java.net.Socket;
import java.net.UnknownHostException;
//一个简单图片传输程序
public class ImageClient {
static Socket connectToServer;//连接至服务器的套接字
static ObjectOutputStream outToServer; //对象输出流
static ObjectInputStream inFromServer; //对象输入流
public static void main(String[] args) {
try {
connectToServer = new Socket("172.20.128.236",8500); //连接至主机
outToServer = new ObjectOutputStream(connectToServer.getOutputStream()); //初始化流
inFromServer = new ObjectInputStream(connectToServer.getInputStream());
FileOutputStream fout = new FileOutputStream(new File("D:\\google.jpg")); //输出流
byte buffer[] = new byte[1024]; //缓冲区
int length = 1;
System.out.println("开始接收图片...");
while(length>0){
length = inFromServer.read(buffer, 0, 1024); //读出输入流中的字节,返回实际读出的字节数
fout.write(buffer); //输出到文件中
}
System.out.println("接收图片结束...");
fout.close(); //关闭文件输出流
inFromServer.close();
outToServer.close();
connectToServer.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}