import java.beans.Statement;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.util.StringTokenizer;
public class Compute_server
{
public static void mian(String[] agrs)
{
ServerSocket server =null;Server_thread thread;
Socket you=null;
while (true)
{
try{server=new ServerSocket(4331);
}
catch(IOException e1)
{
System.out.println("正在监听");
}
try{
you=server.accept();
System.out.println("客户端的地址"+you.getInetAddress());
}
catch(IOException e2)
{
System.out.println("正在等待客户");
}
if(you!=null)
{
new Server_thread(you).start();
}
else
{
continue;
}
}
}
class Server_thread extends Thread
{ DataInputStream in ;
DataOutputStream out;
Socket socket;
Connection con=null;
Statement stmt=null;
String s=null;
Server_thread(Socket t)
{
socket =t;
try
{
in =new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch(IOException e2)
{
}
}
public void run()
{
while (true)
{
double a[]=new double[3];
int i=0;
try{
s=in.readUTF();
StringTokenizer fenxi=new StringTokenizer(s,",");
while(fenxi.hasMoreTokens())
{
String temp=fenxi.nextToken();
try
{
a[i]=Double.valueOf(temp).doubleValue();
i++;
}
catch(NumberFormatException e)
{
out.writeUTF("请输入数字字符");
}
}
double p=(a[0]+a[1]+a[2])/2;
out.writeUTF(""+Math.sqrt(p*(p-a[0])*(p-a[1])*(p-a[2])));
sleep(2);
}
catch(InterruptedException e){}
catch(IOException e)
{
System.out.println("客户端开");
break;
}
}
}
}
}在Eclipse上运行时显示是 new Server_thread(you).start(); 这个地方有错 。一直搞不明白 这里哪错了
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
import java.sql.Connection;
import java.util.StringTokenizer;
public class Compute_server
{
public static void mian(String[] agrs)
{
ServerSocket server =null;Server_thread thread;
Socket you=null;
while (true)
{
try{server=new ServerSocket(4331);
}
catch(IOException e1)
{
System.out.println("正在监听");
}
try{
you=server.accept();
System.out.println("客户端的地址"+you.getInetAddress());
}
catch(IOException e2)
{
System.out.println("正在等待客户");
}
if(you!=null)
{
new Server_thread(you).start();
}
else
{
continue;
}
}
}
class Server_thread extends Thread
{ DataInputStream in ;
DataOutputStream out;
Socket socket;
Connection con=null;
Statement stmt=null;
String s=null;
Server_thread(Socket t)
{
socket =t;
try
{
in =new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch(IOException e2)
{
}
}
public void run()
{
while (true)
{
double a[]=new double[3];
int i=0;
try{
s=in.readUTF();
StringTokenizer fenxi=new StringTokenizer(s,",");
while(fenxi.hasMoreTokens())
{
String temp=fenxi.nextToken();
try
{
a[i]=Double.valueOf(temp).doubleValue();
i++;
}
catch(NumberFormatException e)
{
out.writeUTF("请输入数字字符");
}
}
double p=(a[0]+a[1]+a[2])/2;
out.writeUTF(""+Math.sqrt(p*(p-a[0])*(p-a[1])*(p-a[2])));
sleep(2);
}
catch(InterruptedException e){}
catch(IOException e)
{
System.out.println("客户端开");
break;
}
}
}
}
}在Eclipse上运行时显示是 new Server_thread(you).start(); 这个地方有错 。一直搞不明白 这里哪错了
import java.awt.Button;
import java.awt.GridLayout;
import java.awt.Label;
import java.awt.Panel;
import java.awt.TextField;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
public class Computer_client extends Applet implements Runnable,ActionListener
{
Button jisuan;
TextField shuru,jieguo;
Socket socket;
DataInputStream in=null;
DataOutputStream out=null;
Thread thread;
//String s1,s2;
public void init()
{
setLayout(new GridLayout(2,2));
Panel p1=new Panel(),p2=new Panel();
jisuan=new Button("计算");
shuru=new TextField(12);
jieguo =new TextField(12);
p1.add(new Label("请输入三角形的三边长,用逗号隔开:"));
p1.add(shuru);p2.add(jisuan);p2.add(new Label("结果:"));p2.add(jieguo);
jisuan.addActionListener(this);
add(p1);add(p2);
}
public void start()
{
try{
socket=new Socket(this.getCodeBase().getHost(),4331);
in=new DataInputStream(socket.getInputStream());
out=new DataOutputStream(socket.getOutputStream());
}
catch(IOException e){}
if(thread==null)
{
thread=new Thread(this);
thread.start();
}
}
public void run()
{
String s1=null;
while(true)
{
try{
s1=in.readUTF();
jieguo.setText(s1);
}
catch(IOException e2)
{
jieguo.setText("与服务器段开");
break;
}
}
}
public void actionPerformed(ActionEvent e3)
{
// String s2=shuru.getText();
if(e3.getSource()==jisuan)
{
String s2=shuru.getText();
if(s2!=null)
{
try{
out.writeUTF(s2);
}
catch(IOException e4)
{
}
}
}
}
}
那这个程序是和上面的连一块的 这里为什么老是 不能按照预想去执行呢 好像s1=in.readUTF();出问题了 可是我又不知道怎么弄得 初学者真是痛苦啊 求指点