socket通信demo
Server.java
package com.hmb;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.Reader;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) {
int port = 8917;
try {
System.out.println("server start");
ServerSocket serverSocket = new ServerSocket(port);
Socket socket = serverSocket.accept();
Reader reader = new InputStreamReader(socket.getInputStream());
char[] chars = new char[1024];
int len;
while ((len = reader.read(chars)) != -1) {
System.out.println(new String(chars, 0, len));
}
reader.close();
socket.close();
serverSocket.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
Client.java
package com.hmb;
import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.Writer;
import java.net.Socket;
public class Client {
public static void main(String[] args) {
String ip = "127.0.0.1";
int port = 8917;
try {
System.out.println("client start");
Socket socket = new Socket(ip, port);
Writer writer = new OutputStreamWriter(socket.getOutputStream());
writer.write("hello, I am client");
writer.flush();
writer.close();
socket.close();
} catch (IOException e) {
throw new RuntimeException(e);
}
}
}
先运行Server.java的main方法,再运行Client.java的main方法,此时server的终端就会打印收到的信息


浙公网安备 33010602011771号