服务端
package com.socket;
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
public class TestSocketServer01 {
public static void main(String[] args) throws Exception {
ServerSocket serverSocket = new ServerSocket(9999);
Socket socket = serverSocket.accept();
InputStream inputStream = socket.getInputStream();
FileOutputStream fos = new FileOutputStream(new File("reciver.jpg"));
byte[] buffer = new byte[1024];
int len;
while ((len = inputStream.read(buffer)) != -1){
fos.write(buffer,0,len);
}
OutputStream outputStream = socket.getOutputStream();
outputStream.write("接收完毕了。可以断开了。".getBytes());
outputStream.close();
fos.close();
inputStream.close();
socket.close();
serverSocket.close();
}
}
客户端
package com.socket
import java.io.*
import java.net.Socket
public class TestSocketClient01 {
public static void main(String[] args) throws Exception {
//1.创建客户端连接
Socket socket = new Socket("localhost",9999)
//2.读取文件
FileInputStream fis = new FileInputStream(new File("huanglai.jpg"))
//3.写出文件
OutputStream outputStream = socket.getOutputStream()
byte[] buffer = new byte[1024]
int len
while ((len = fis.read(buffer)) != -1){
outputStream.write(buffer,0,len)
}
//4.告诉服务端写完了
socket.shutdownOutput()
//5.接收服务端的通知,断开连接
InputStream inputStream = socket.getInputStream()
ByteArrayOutputStream baos = new ByteArrayOutputStream()
while ((len = inputStream.read(buffer)) != -1){
baos.write(buffer,0,len)
}
System.out.println(baos.toString())
//6.关闭资源
baos.close()
inputStream.close()
outputStream.close()
fis.close()
socket.close()
}
}