服务器类,要先启动:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.InetAddress;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
private int port; //端口号
private ServerSocket serverSocket;
private Socket socket;
public Server(int port) {
this.port = port;
}
//打开连接
public void open() throws IOException {
serverSocket = new ServerSocket(port);
socket = serverSocket.accept();
}
//等待接受
public void receive() throws IOException {
InetAddress ip = socket.getInetAddress();
//获取发送过来的数据
InputStream in = socket.getInputStream();
byte[] out = new byte[1024];
in.read(out);
String msg = new String(out);//将读入的数据转换成字符串
System.out.println(ip.getHostAddress()+"发送数据:"+msg);
}
//输入信息
public void send(String string) throws IOException {
OutputStream outputStream = socket.getOutputStream();
outputStream.write(string.getBytes());
}
}
客户端类,后启动:
package day8.homework;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
public class Client {
private Socket socket;
private String ip;//地址
private int port;//端口号
public Client(String ip,int port) {
this.ip =ip;
this.port=port;
}
//打开连接
public void conncetion() throws IOException {
socket = new Socket(ip,port);
}
//发送数据
public void send(String msg) throws IOException {
OutputStream output = socket.getOutputStream();
output.write(msg.getBytes());
}
//接受数据
public void receive() throws IOException {
InputStream input = socket.getInputStream();
byte [] in = new byte[1024];
input.read(in);
String msg = new String(in);
System.out.println("服务器返回:"+msg);
}
}
服务器运行类,此类要先启动
import java.io.IOException;
import java.util.Scanner;
public class ServerMain {
public static void main(String[] args) throws IOException {
Server server = new Server(1314);
server.open();
while (true){
server.receive();
Scanner in = new Scanner(System.in);
server.send(in.nextLine().trim());
}
}
}
客户端运行类,后启动
import java.io.IOException;
import java.util.Scanner;
public class ClientMain {
public static void main(String[] args) throws IOException {
Client client = new Client("xxx.xxx.xxx.xxx",1314);
client.conncetion();
while (true){
Scanner input = new Scanner(System.in);
client.send(input.nextLine().trim());
client.receive();
}
}
}