c/s模式下传递还是通过URL来传递吧.
解决方案 »
- 求助:Integer.parseInt(test); 如果test="test"的话。。。。
- java中求长方形的面积
- 如何取得某机器上 jndi 的资源呢??如果你知道 那么请付上代码片断
- 请问int如何转换成byte[]?
- 怎样把一个字节数组中的一部分复制到另一个数组中?
- JSONObject一个方法问题
- 刚看了JTree添加checkbox的例子,自己也做了一个,可不知道给如何遍历数的所有末节点,请大侠指教,最好有源代码!!!!
- 用java 怎样读写sql server 的 image 字段呢!!!~~~有例子么
- ~~~~~~没想到每次到这时几乎都是散风,^_^ 继续散~~~~~
- 请问哪些java的开发环境更好些?
- linux中含中文的java源程序编译不了,请教
- 未入门新手,一开始就遇到问题,求助!
import java.awt.*;
import java.net.*;
import java.io.*;
class ServiceThread extends Frame implements Runnable
{
ServerService FatherListener;
Socket ConnectedClient;
Thread ConnectThread;
Panel ListenerPanel;
TextArea ServerMsg;
ServiceThread(ServerService sv,Socket s)
{
FatherListener =sv;
ConnectedClient=s;
ConnectThread=new Thread(this);
setTitle("answer Client");
setLayout(new BorderLayout());
ServerMsg=new TextArea(10,50);
add("Center",ServerMsg);
setResizable(false);
pack();
show();
InetAddress ClientAddress=ConnectedClient.getInetAddress();
ServerMsg.appendText("Clent connected"+"from\n"+ClientAddress.toString()+"\n");
}
public void run()
{
try
{ // ObjectOutputStream out1=new ObjectOutputStream(ConnectedClient.getOutputStream());
// ObjectInputStream in1=new ObjectInputStream (new BufferedInputStream(
// ConnectedClient.getInputStream() ));
ObjectInputStream in1=new ObjectInputStream (ConnectedClient.getInputStream());
PersonInfo s= (PersonInfo)in1.readObject(); while(s.name.equals("Bye")!=true)
{
if(s.id==1)
s.id++;
System.out.println(s.id);
System.out.println(s.name);
System.out.println(s.telephone);
// out.writeObject("you 've send the following message:\n"+s.name);
// out.flush();
ServerMsg.appendText("Client is saying\n"+s.telephone);
s=(PersonInfo)in1.readObject();
}
ConnectedClient.close(); }catch(Exception e){}
FatherListener.addMeg("Client"+"closed"+"\n");
dispose();
}
} class ServerService extends Frame
{
ServerSocket m_sListener;
TextArea ListenerMeg;
ServerService(int Port,int Count)
{
try
{
m_sListener=new ServerSocket(Port,Count);
setTitle("server Listener");
setLayout(new BorderLayout());
ListenerMeg=new TextArea(10,50);
add("Center",ListenerMeg);
setResizable(false);
pack();
show();
while(true)
{
Socket Connected=m_sListener.accept();
InetAddress ClientAddress=Connected.getInetAddress();
ListenerMeg.appendText("Clinet connected from\n"+ClientAddress.toString()+"\n");
ServiceThread MyST=new ServiceThread(this,Connected);
MyST.ConnectThread.start();
}
}catch(IOException e){}
}
public void addMeg(String s)
{
ListenerMeg.appendText(s);
}
public boolean handleEvent(Event e)
{
if(e.id==Event.WINDOW_DESTROY)
{
try
{
System.exit(0);
}catch(Exception ep){}
}
return super.handleEvent(e);
}
}
class PersonInfo implements Serializable
{
String name;
int id;
String telephone;
PersonInfo(String name,int id,String tele)
{
this.name=name;
this.id=id;
telephone=tele;
}
} public class TestServer
{
public static void main(String[] args)
{
ServerService MyServer=new ServerService(8000,10);
}
}
////////////////////////////////////////////////////////////
客户端
import java.awt.*;
import java.net.*;
import java.io.*;
public class MyClient extends Frame
{
Socket ClientSocket;
//PrintStream os;
ObjectOutputStream os;
ObjectInputStream is;
//DataInputStream is;
String s; Label MyLabel=new Label("welcome to the infomation service");
TextArea textArea;
// Button MyBotton=new Button("Send Message"); MyClient()
{
setTitle("Client Window");
setLayout(new BorderLayout());
textArea=new TextArea(20,50);
add("North",MyLabel);
// add("South",MyBotton);
add("Center",textArea);
setResizable(false);
pack();
show();
connect(); }
public void connect()
{
try
{
ClientSocket=new Socket("10.10.147.246",8000);
os=new ObjectOutputStream(ClientSocket.getOutputStream());
is=new ObjectInputStream(ClientSocket.getInputStream());
try
{
PersonInfo person=new PersonInfo("yangguang",1,"025-83474003"); os.writeObject(person);
// os.println(textArea.getText());
os.flush();
}
catch(Exception ex){} }
catch(Exception e){}
}
/* public boolean action(Event e,Object arg)
{
Object target=e.target;
if(target==MyBotton)
{
try
{
PersonInfo person=new PersonInfo("yangguang",1,"025-83474003");
os.writeObject(person);
// os.println(textArea.getText());
os.flush();
}
catch(Exception ex){}
return true;
}
return false;
}*/ public boolean handleEvent(Event e)
{
switch(e.id)
{
case Event.WINDOW_DESTROY:
try
{
os.writeObject("bye");
os.flush();
is.close();
os.close();
ClientSocket.close();
System.exit(0);
}catch(Exception ex){} }
return super.handleEvent(e);
}
public static void main(String [] args)
{
new MyClient();
}
class PersonInfo implements Serializable
{
String name;
int id;
String telephone;
PersonInfo(String name,int id,String tele)
{
this.name=name;
this.id=id;
this.telephone=tele;
}
}
}
你把Exception都catch干吗,抛出去
还有,PersonInfo不能是两个...
while(s.name.equals("Bye")!=true)这里可能会死循环
ClientSocket=new Socket("10.10.147.246",8000);这个ip对么?
你先别急着搞这个程序,慢慢来先练好基本功再说
// ObjectOutputStream out1=new ObjectOutputStream(ConnectedClient.getOutputStream());
is=new ObjectInputStream(ClientSocket.getInputStream());C/S端要对应。