1.客户端传输到服务端
1.1 服务器将客户端传输的内容打印出来
public void service() {
ServerSocket serverSocket = null;
InputStreamReader inputStreamReader = null;
try {
serverSocket = new ServerSocket(8899);
Socket accept = serverSocket.accept();
InputStream inputStream = accept.getInputStream();
inputStreamReader = new InputStreamReader(inputStream);
char[] cbuf = new char[5];
int len = 0;
while ( (len = inputStreamReader.read(cbuf))!=-1 ){
System.out.print(new String(cbuf, 0, len));
}
} catch (IOException e) {
e.printStackTrace();
} finally {
if (inputStreamReader != null) {
try {
inputStreamReader.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (serverSocket != null) {
try {
serverSocket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
@Test
public void client() {
Socket socket = null;
OutputStreamWriter outputStreamWriter = null;
try {
InetAddress localHost = InetAddress.getLocalHost();
socket = new Socket(localHost,8899);
OutputStream outputStream = socket.getOutputStream();
outputStreamWriter = new OutputStreamWriter(outputStream);
outputStreamWriter.write("你好,我是客户端");
} catch (IOException e) {
e.printStackTrace();
} finally {
if (outputStreamWriter != null) {
try {
outputStreamWriter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
if (socket != null) {
try {
socket.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
1.2 传输图片
@Test
public void client2() throws IOException {
InetAddress localHost = InetAddress.getLocalHost();
Socket socket = new Socket(localHost,8899);
OutputStream outputStream = socket.getOutputStream();
FileInputStream fileInputStream = new FileInputStream(new File("1.jpg"));
byte[] b = new byte[5];
int len = 0;
while ( (len = fileInputStream.read(b))!=-1 ){
outputStream.write(b);
}
fileInputStream.close();
outputStream.close();
socket.close();
}
@Test
public void service1() throws IOException {
ServerSocket serverSocket = new ServerSocket(8899);
Socket accept = serverSocket.accept();
InputStream inputStream = accept.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream(new File("1_1.jpg"));
int len = 0;
byte[] b = new byte[5];
while ( (len = inputStream.read(b)) != -1){
fileOutputStream.write(b);
}
fileOutputStream.close();
inputStream.close();
serverSocket.close();
}
1.3 服务端给客户端发数据
public void client2() throws IOException {
InetAddress localHost = InetAddress.getLocalHost();
Socket socket = new Socket(localHost,8899);
OutputStream outputStream = socket.getOutputStream();
FileInputStream fileInputStream = new FileInputStream(new File("1.jpg"));
byte[] b = new byte[5];
int len = 0;
while ( (len = fileInputStream.read(b))!=-1 ){
outputStream.write(b);
}
socket.shutdownOutput();
InputStream inputStream = socket.getInputStream();
InputStreamReader inputStreamReader = new InputStreamReader(inputStream);
int len2 = 0;
char[] c = new char[5];
while ( (len2 = inputStreamReader.read(c))!= -1){
String s = new String(c, 0, len2);
System.out.print(s);
}
inputStreamReader.close();
fileInputStream.close();
outputStream.close();
socket.close();
}
@Test
public void service1() throws IOException {
ServerSocket serverSocket = new ServerSocket(8899);
Socket accept = serverSocket.accept();
InputStream inputStream = accept.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream(new File("1_1.jpg"));
int len = 0;
byte[] b = new byte[5];
while ( (len = inputStream.read(b)) != -1){
fileOutputStream.write(b);
}
OutputStream outputStream = accept.getOutputStream();
outputStream.write("您好,我的图片已经收到了".getBytes());
outputStream.close();
fileOutputStream.close();
inputStream.close();
serverSocket.close();
}