62,628
社区成员
发帖
与我相关
我的任务
分享import java.net.*;
import java.io.*;
public class MyTCPServer {
private ServerSocket server = null;
protected Socket socket= null;
private BufferedReader reader = null;
public MyTCPServer(int port) {
try {
server = new ServerSocket(port);
System.out.println("Successful creation of socket!");
}catch (Exception e) {
e.printStackTrace();
}
}
public void accept() {
try {
while(true) {
System.out.println("Waiting for the client to connect");
socket = server.accept();
try {
readMessage2Server();
} catch (Exception e) {
System.out.println("Client Disconnect");
}
}
} catch (IOException e) {
e.printStackTrace();
}
}
public void readMessage2Server() throws Exception{
reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String s = null;
System.out.println("Connect to the Client");
// URLDecoder ud = new URLDecoder();
while(true) {
s = reader.readLine();
//System.out.println(URLDecoder.decode(s, "utf-8"));
System.out.println(s);
}
}
public static void main(String[] args) {
MyTCPServer server = new MyTCPServer(9999);
server.accept();
try {
if(server.reader != null) {
server.reader.close();
}
if(server.socket != null) {
server.socket.close();
}
if(server.server != null) {
server.server.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class MyTCPClient {
private Socket socket = null;
private BufferedWriter writer = null;
private Scanner input = new Scanner(System.in);
public MyTCPClient(String address , int port) {
try {
socket = new Socket(address, port);
// System.out.println("connect to server successfully");
} catch (UnknownHostException e) {
System.out.println("can not connect the server");
e.printStackTrace();
}catch (Exception e) {
System.out.println("CONNECT_ERROR");
e.printStackTrace();
}
}
public void connect() {
while(true) {
try {
writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
System.out.println("connect to server successfully");
} catch (IOException e) {
System.out.println("CONNECT_ERROR");
}
sendMessage4Server();
}
}
public void sendMessage4Server() {
String s = null;
try {
while(true) {
s = input.next();
//s = URLEncoder.encode(s, "utf-8");
writer.write(s);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
MyTCPClient client = new MyTCPClient("localhost", 9999);
client.connect();
try {
if(client.socket != null) {
client.socket.close();
}
if(client.input != null) {
client.input.close();
}
if(client.writer != null) {
client.writer.close();
}
} catch (Exception e) {
e.printStackTrace();
}
}
}