关于java编程。设计一个基于TCP/IP协议的网络程序,实现如下功能:

设计一个基于TCP/IP协议的网络程序,实现如下功能:在客户端输入两个数,在服务器端计算,将计算结果传到客户端显示。提示:使用套接字(ServerSocket,Socke... 设计一个基于TCP/IP协议的网络程序,实现如下功能:
在客户端输入两个数,在服务器端计算,将计算结果传到客户端显示。

提示:使用套接字(ServerSocket,Socket)
可以做成控制台界面,也可以做成图形界面。
展开
 我来答
莔囧冏冋冂
推荐于2016-08-16 · TA获得超过642个赞
知道小有建树答主
回答量:411
采纳率:100%
帮助的人:548万
展开全部
写好了,有什么问题请追问。
客户端:

import java.net.*;
import java.io.*;

public class TestSocketClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("127.0.0.1", 5566);
System.out.println("请输入计算式:");
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String s1 = br.readLine();
DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
dos.writeUTF(s1);
dos.flush();

double s = dis.readDouble();
System.out.println("计算结果:" + s);
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.out.println("连接出错");
System.exit(-1);
}
}
}

服务器端:
import java.net.*;
import java.io.*;

public class TestSocketServer {
public static void main(String[] args) {
try {
ServerSocket ss = new ServerSocket(5566);
Socket socket = ss.accept();

DataOutputStream dos = new DataOutputStream(socket.getOutputStream());
DataInputStream dis = new DataInputStream(socket.getInputStream());
String s = null;
if ((s = dis.readUTF()) != null) {
System.out.println("接收到的算式:" + s);
double result = 0;
String[] sarr1 = s.split("[\\+\\-\\*\\/]");

double a = Double.parseDouble(sarr1[0].trim());
double b = Double.parseDouble(sarr1[1].trim());

String[] sarr2 = s.split("^(-?\\d+)(\\.\\d+)?");
char c = sarr2[1].trim().charAt(0);
switch (c) {
case '+':
result = a + b;
break;
case '-':
result = a - b;
break;
case '*':
result = a * b;
break;
case '/':
result = a / b;
break;
default:
break;
}
dos.writeDouble(result);
dos.flush();
}
dis.close();
dos.close();
socket.close();
} catch (IOException e) {
e.printStackTrace();
System.exit(-1);
}

}
}
更多追问追答
追问
这个是不是还要新建个TestSocketClient的类说明是公共的啊?怎么弄呢?
追答
这两个类放到两个java文件里运行,一个TestSocketClient.java 一个 TestSocketServer.java
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式