[求助]还想请大家帮帮忙
我不根本不知道线程和TCP/IP的Socket怎样连合起来一起用~我想做一个服务器来端创建对象SererSocket在某接口提供监听服务,下面是我自己乱写的一个,错得很离谱,请你们给个思路我吧!import javax.swing.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;
import java.io.*;
class MyServer1 extends Frame implements Runnable{
TextArea Meg=new TextArea(5,7);
String receiveMsg;
ServerSocket sSocket=null;
Socket csocket=null;
BufferedReader reade=null;
PrintStream writer=null;
Thread connectThread;
public void init(){
connectThread=new connectThread(this);
connectTread.start();
}
public void run(){
writer.println("Welcom connect to MyServer!\r");
writer.flush();
String s=reader.readLine();
while(!s.equals("Exit")){
receiveMsg.append("MyClient端输入的信息为:\n"+s);
cSocket.close();
dispose();
}
}
MyServer1(){
super("MyServer服务器端");
setSize(500,300);
setDefualtCloseOperation(JFrame.EXIT_ON_CLOSE);
setLayout(new BorderLayout());
add("Center",Meg);
setVisible(true);
}
public static void main(String args[]){
try{
sSocket=new ServerSocket(6000,10);
cSocket=sSocket.accept();
reader=new BufferedReader(new InputStreamReader(cSocket.getInputStream()));
writer=new PrintStream(cSocket.getOutputStream());
}catch(IOException e){}
MyServer ma=new MyServer();
}
}
我改了很多遍,上面可能都很乱,我也不会写!
大家给我个思路吧,也别批评我,我真的很无耐
----------------解决方案--------------------------------------------------------
,就不能给个思路我吗?
----------------解决方案--------------------------------------------------------
服务器:
先在一个端口起一个ServerSocket,然后一直在那里监听.比如ss是ServerSocket,可以
while(true){
Socket s=ss.accept();
new HandleSocket(s).start();
}
然后一直在那里听,听到一个连接,马上就去起一个线程去处理那个连接,然后再监听下一个连接
然后,你的HandleSocket这个类,自己要写好,无非就是利用构造函数里面的socket来得到输入输出流,然后利用输入输出流和客户端进行交互,还有,这个类你得继承自Thread类,不过,你也可以实现runnable接口,那就用new Thread(Runnable target).start()来启动它
客户端:
你直接Socket s=new Socket("地址","端口")就OK了
----------------解决方案--------------------------------------------------------
你这样说我还不太明白!
如果把客户端和服务端都写好了,怎么让它们两个在同一台机运行呢?
----------------解决方案--------------------------------------------------------
ServerSocket ss=new ServerSocket(8888);
Socket s=new Socket("localhost",8888)
----------------解决方案--------------------------------------------------------
我的意思是怎样才可以吧两个程序都打开,现在我只能打开一个,另一个程序都打不开!它们不能同时打开!
----------------解决方案--------------------------------------------------------
使用两个cmd.然后分别都执行java命令,不就可以分别运行server和client了?
----------------解决方案--------------------------------------------------------