2007-09-11
简单级聊天室程序
java 代码
- //服务器端代码
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.PrintWriter;
- import java.net.ServerSocket;
- import java.net.Socket;
- public class Server{
- public static void main(String[] args) throws IOException {
- int PORT = 8999;
- BufferedReader in = null;PrintWriter out = null;
- try{
- // 以端口PORT创建一个服务器Socket
- ServerSocket s = new ServerSocket(PORT);
- //监听并接受与此socket的连接,该方法会阻塞直到有一个连接产生
- Socket socket = s.accept();
- System.out.println("服务器启动成功,等待客户端请求");
- //创建新的数据输入流,以便从指定的输入流中读取数据
- try{
- in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- //创建新的数据输出流,以便从指定的输出流中写出数据
- out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true);
- System.out.println("Client ip : "+s.getInetAddress());
- out.println("welcome to my chatRoom!");
- while (true) {
- String str = in.readLine();
- if (str.equals("exit") || str==null) {
- break;
- }
- if (str != null && str.length() > 0) {
- System.out.println("客户端:" + str);
- }
- }
- System.out.println("Client ip : "+s.getInetAddress()+" want to leave");
- }
- finally{
- in.close();
- out.close();
- socket.close();
- s.close();
- }
- }catch(Exception e){
- e.printStackTrace();
- }
- }
- }
java 代码
- //客户端代码
- import java.io.BufferedReader;
- import java.io.BufferedWriter;
- import java.io.DataInputStream;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.io.OutputStreamWriter;
- import java.io.PrintWriter;
- import java.net.Socket;
- import java.net.UnknownHostException;
- /**
- * Socket网络编程客户端程序
- * @author arthurs
- */
- public class Client {
- public static void main(String[] args) throws IOException {
- //创建一个socket连接,参数包括服务器端IP地址,端口号;
- Socket socket = new Socket("localhost",8999);
- BufferedReader in = null;PrintWriter out = null;
- BufferedReader sysin = null;
- try {
- // if(outCh.toString().equals("exit"))
- // break;
- // 创建一个数据输入流,从指定的输入流中读取数据
- in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
- // 创建一个数据输出流,从指定的输出流中写出数据
- out = new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);
- String str = in.readLine();
- System.out.println("服务器端:" + str);
- sysin = new BufferedReader(new InputStreamReader(new DataInputStream(System.in)));
- String strOut = sysin.readLine();
- while(!strOut.equals("exit")){
- out.println(strOut);
- strOut = sysin.readLine();
- }
- } catch (UnknownHostException e) {
- e.printStackTrace();
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- in.close();
- out.close();
- sysin.close();
- socket.close();
- }
- }
- }







评论排行榜