是这样的,我要做一个服务器端和一个客户端,可以达到服务器端输入东西后客户可以收到,并且客户发信息,服务器也可以受到的效果。服务器的代码如下:importjava.net.*;importjava.io...
是这样的, 我要做一个服务器端和一个客户端,可以达到服务器端输入东西后客户可以收到,并且客户发信息,服务器也可以受到的效果。
服务器的代码如下:
import java.net.*;
import java.io.*;
public class Server {
public static void main(String[] args)
{
System.out.println("我是服务器");
try {
ServerSocket ss=new ServerSocket(8000);
Socket sk=ss.accept();
OutputStream os=sk.getOutputStream();
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));
bw.write("你好,我是服务器,有什么需要我服务的嘛?\n");
bw.flush();
InputStream is=sk.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
System.out.println("客户端说:"+br.readLine());
bw.flush();
String sr="";
while(true)
{
BufferedReader br1=new BufferedReader(new InputStreamReader(System.in));
sr=br1.readLine();
bw.write(sr+"\n");
bw.flush();
}
}
catch (Exception e) {
e.printStackTrace();
}
}
}
客户端的代码如下;
import java.net.*;
import java.io.*;
public class kehu {
public static void main(String[] args)
{
System.out.println("我是客户");
try {
Socket s=new Socket(InetAddress.getByName(null),8000);
InputStream is=s.getInputStream();
BufferedReader br=new BufferedReader(new InputStreamReader(is));
System.out.println("服务器说:"+br.readLine());
OutputStream os=s.getOutputStream();
BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(os));
bw.write("你好,我是客户端\n");
bw.flush();
String sr="";
while(true)
{
sr=br.readLine();
System.out.println("服务器说"+sr);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
目前只实现了服务器向客户发信息的功能。要实现两方互通好象要两个死循环??加上双线程??该怎么做。请高手指点。谢谢了
别介呀,朋友~!我真的是新手。。。这个是作业。。。没办法~谢谢了
我要实现的功能就是先把服务器打开,然后开客户断连接上后,两方都可以随意的输入信息,而在对方的那里显示出来(服务器说话,客户那显示。客户说话服务器那显示,就象是QQ那样的意思),直到一方输入bye.那么两方都结束。
我现在就是不会多线程,不知道该如何将它挂起,我只会建立多线程和让他睡眠而已。。。呵呵。小弟刚学,还希望大家多多指教。先谢谢了
展开