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();
}
UDP
@Test
public void sender() throws IOException {
DatagramSocket datagramSocket = new DatagramSocket();
byte[] bytes = "我是UDP发送的数据".getBytes();
InetAddress localHost = InetAddress.getLocalHost();
DatagramPacket packet = new DatagramPacket(bytes,0,bytes.length,localHost,9527);
datagramSocket.send(packet);
datagramSocket.close();
}
@Test
public void reciver() throws IOException{
DatagramSocket datagramSocket = new DatagramSocket(9527);
byte[] bytes = new byte[100];
DatagramPacket packet = new DatagramPacket(bytes, 0,bytes.length);
datagramSocket.receive(packet);
System.out.println(new String(packet.getData(), 0, packet.getLength()));
datagramSocket.close();
}
URL 编程
public void urlWrite() throws IOException {
URL url = new URL("https://i.cnblogs.com/assets/adminlogo.png");
HttpsURLConnection urlConnection = (HttpsURLConnection) url.openConnection();
urlConnection.connect();
InputStream inputStream = urlConnection.getInputStream();
FileOutputStream fileOutputStream = new FileOutputStream("test.png");
int len = 0;
byte[] data = new byte[100];
while ( (len = inputStream.read(data))!=-1 ){
fileOutputStream.write(data,0,len);
}
fileOutputStream.close();
inputStream.close();
urlConnection.disconnect();
}