ClientとServerの運用原則(四則演算)
import java.io.*;
import java.net.*;
public class TalkClient {
public static void main(String args[]) {
try {
// 4700
Socket socket = new Socket("127.0.0.1", 4700);
if (socket.isConnected()) {
System.out.println("success!");
}
// BufferedReader
BufferedReader sin = new BufferedReader(new InputStreamReader(
System.in));
// Socket , PrintWriter
PrintWriter os = new PrintWriter(socket.getOutputStream());
// Socket , BufferedReader
BufferedReader is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
String readline;
//
readline = sin.readLine();
// "bye"
while (!readline.equals("bye")) {
// Server
os.println(readline);
// , Server
os.flush();
//
// System.out.println("Client:" + readline);
// Server ,
System.out.println("Server:" + is.readLine());
//
readline = sin.readLine();
} //
os.close(); // Socket
is.close(); // Socket
socket.close(); // Socket
} catch (Exception e) {
System.out.println("Error" + e); // ,
}
}
}
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
public class TalkServer1 {
public static void main(String args[]) {
try {
ServerSocket server = null;
try {
server = new ServerSocket(4700);
// ServerSocket 4700
} catch (Exception e) {
System.out.println("can not listen to:" + e);
// ,
}
Socket socket = null;
try {
socket = server.accept();
// accept() ,
// Socket ,
} catch (Exception e) {
System.out.println("Error." + e);
// ,
}
//String line;
BufferedReader is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// Socket , BufferedReader
PrintWriter os = new PrintWriter(socket.getOutputStream());
// Socket , PrintWriter
//BufferedReader sin = new BufferedReader(new InputStreamReader(
// System.in));
// BufferedReader
String q = manage(is);
//
//line = sin.readLine();
//
while (q!="bye") {
// "bye",
os.println(q);
// os.println(line);
// System.out.println(" ");
//
os.flush();
// , Client
//System.out.println("Server:" + line);
// String s = is.readLine();
q = manage(is);
// Client ,
//line = sin.readLine();
//
} //
os.close(); // Socket
is.close(); // Socket
socket.close(); // Socket
server.close(); // ServerSocket
} catch (Exception e) {
System.out.println("Error:" + e);
// ,
}
}
private static String manage(BufferedReader is) throws IOException {
String s = is.readLine();
int q = 0;
for (int i = 0; i < s.length(); i++) {
if (Character.toString(s.charAt(i)).equals("+")) {
q = Integer.parseInt(s.substring(0, i))
+ Integer.parseInt(s.substring(i + 1));
break;
} else if (Character.toString(s.charAt(i)).equals("-")) {
q = Integer.parseInt(s.substring(0, i))
- Integer.parseInt(s.substring(i + 1));
break;
} else if (Character.toString(s.charAt(i)).equals("*")) {
q = Integer.parseInt(s.substring(0, i))
* Integer.parseInt(s.substring(i + 1));
break;
} else if (Character.toString(s.charAt(i)).equals("/")) {
q = Integer.parseInt(s.substring(0, i))
/ Integer.parseInt(s.substring(i + 1));
break;
}
}
System.out.println("Client:" + s + "=" + q);
return s + "=" + q;
}
}
import java.io.*;
import java.net.*;
import java.applet.Applet;
public class TalkServer {
public static void main(String args[]) {
int a = 0, c = 0, index = 0;
String b = null;
int sum = 0;
try {
ServerSocket server = null;
try {
server = new ServerSocket(4700);
// ServerSocket 4700
} catch (Exception e) {
System.out.println("can not listen to:" + e);
// ,
}
Socket socket = null;
try {
socket = server.accept();
// accept() ,
// Socket ,
} catch (Exception e) {
System.out.println("Error." + e);
// ,
}
String line;
BufferedReader is = new BufferedReader(new InputStreamReader(
socket.getInputStream()));
// Socket , BufferedReader
PrintWriter os = new PrintWriter(socket.getOutputStream());
// Socket , PrintWriter
// BufferedReader sin = new BufferedReader(new InputStreamReader(
//System.in));
// BufferedReader
//System.out.println("Client:" + is.readLine());
//
line = is.readLine();
//
while (!line.equals("bye")) {
// "bye",
if (line.contains("+")) {
index = line.indexOf("+");
a = Integer.valueOf(line.substring(0, index));
b = line.substring(index, index + 1);
c = Integer.valueOf(line.substring(index + 1, line.length()));
sum = a + c;
} else if (line.contains("-")) {
index = line.indexOf("-");
a = Integer.valueOf(line.substring(0, index));
b = line.substring(index, index + 1);
c = Integer.valueOf(line.substring(index + 1, line.length()));
sum = a - c;
} else if (line.contains("*")) {
index = line.indexOf("*");
a = Integer.valueOf(line.substring(0, index));
b = line.substring(index, index + 1);
c = Integer.valueOf(line.substring(index + 1, line.length()));
sum = a * c;
} else if (line.contains("/")) {
index = line.indexOf("/");
a = Integer.valueOf(line.substring(0, index));
b = line.substring(index, index + 1);
c = Integer.valueOf(line.substring(index + 1, line.length()));
sum = a / c;
}
os.println(a+b+c+"="+sum);
//
os.flush();
// , Client
//System.out.println("Server:" + line);
//
//System.out.println("Client:" + is.readLine());
// Client ,
line = is.readLine();
//
} //
os.close(); // Socket
is.close(); // Socket
socket.close(); // Socket
server.close(); // ServerSocket
} catch (Exception e) {
System.out.println("Error:" + e);
// ,
}
}
}
転載先:https://www.cnblogs.com/zbq0325/p/4556121.html