服务器:
Serversocket();
accept();实现监听
start();启动线程
package com.ffyc.javaThread.demo2;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
ServerSocket serverSocket = new ServerSocket(9999);
System.out.println("服务器已准备连接");
Socket socket = serverSocket.accept();
System.out.println("服务器连接成功");
new SendThread(socket).start();
new ReceiveThread(socket).start();
}
}
客户端:
sorket();
start();启动线程
package com.ffyc.javaThread.demo2;
import java.io.IOException;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
Socket socket = new Socket("127.0.0.1",9999);
new SendThread(socket).start();
new ReceiveThread(socket).start();
}
}
接收线程:
package com.ffyc.javaThread.demo2;
import java.io.DataInputStream;
import java.io.IOException;
import java.net.Socket;
public class ReceiveThread extends Thread{
Socket socket;
DataInputStream dataInputStream;
public ReceiveThread(Socket socket) throws IOException {
this.socket = socket;
this.dataInputStream = new DataInputStream(socket.getInputStream());
}
@Override
public void run() {
while(true){
String s = null;
try {
s = dataInputStream.readUTF();
} catch (IOException e) {
e.printStackTrace();
}
}
}
}
发送线程:
package com.ffyc.javaThread.demo2;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.util.Scanner;
public class SendThread extends Thread {
Socket socket;
DataOutputStream dataOutputStream;
public SendThread(Socket socket) throws IOException {
this.socket = socket;
this.dataOutputStream = new DataOutputStream(socket.getOutputStream());
}
@Override
public void run() {
while (true) {
Scanner sc = new Scanner(System.in);
String ss = sc.next();
try {
dataOutputStream.writeUTF(ss);
} catch (IOException e) {
e.printStackTrace();
}
}
}
}