50,528
社区成员
发帖
与我相关
我的任务
分享
package Socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class TcpClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 8084);
System.out.println("***********Connect Success***********");
new ClientInputThread(socket).start();
new ClientOutputhread(socket).start();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
private static class ClientInputThread extends Thread {
private Socket socket;
private ClientInputThread(Socket socket) {
this.socket = socket;
}
public void run() {
try {
InputStream inputstream = socket.getInputStream();
while (true) {
byte[] buffer = new byte[1024];
int length = inputstream.read(buffer);
String str = new String(buffer, 0, length);
System.out.println(str);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private static class ClientOutputhread extends Thread {
private Socket socket;
private ClientOutputhread(Socket socket) {
this.socket = socket;
}
public void run() {
try {
OutputStream outputstream = socket.getOutputStream();
while (true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
line = "客户端:" + line;
outputstream.write(line.getBytes());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
package Socket;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class TcpServer {
public static void main(String[] args) throws IOException {
//服务器IP 目前是 localhost
ServerSocket serversocket = new ServerSocket(8084);
System.out.println("***********Server started***********");
while (true) {
Socket socket = serversocket.accept();
new ServerInputThread(socket).start();
new ServerOutThread(socket).start();
}
}
private static class ServerInputThread extends Thread {
private Socket socket;
public ServerInputThread(Socket socket) {
// TODO Auto-generated constructor stub
this.socket = socket;
}
public void run() {
try {
InputStream inputstream = socket.getInputStream();
byte [] buffer = new byte [1024];
int length = inputstream.read(buffer);
String information = new String(buffer,0,length);
System.out.println(information);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
private static class ServerOutThread extends Thread {
private Socket socket;
public ServerOutThread(Socket socket) {
// TODO Auto-generated constructor stub
this.socket = socket;
}
public void run() {
try {
OutputStream outputstream = socket.getOutputStream();
while(true) {
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String line = reader.readLine();
line = "服务器:" + line;
outputstream.write(line.getBytes());
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
finally {
try {
socket.close();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
}
private static class ServerInputThread extends Thread {
private Socket socket;
public ServerInputThread(Socket socket) {
// TODO Auto-generated constructor stub
this.socket = socket;
}
public void run() {
try {
InputStream inputstream = socket.getInputStream();
while (true) {
byte [] buffer = new byte [1024];
int length = inputstream.read(buffer);
String information = new String(buffer,0,length);
System.out.println(information);
}
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}