|
|
一个基于TCP的聊天程序 |
|
|
作者:未知 来源:月光软件站 加入时间:2005-6-5 月光软件站 |
这是个基于TCP的连接 只能用于本地局域网中,怎么在互联网上用还有待研究:)! 这个程序只能在本机上用,要在局域网上用还要改一下! 代码如下: 服务器:
import java.io.*; import java.awt.*; import java.awt.event.*; import java.net.*;
public class ChatS extends Frame { TextField tf=new TextField(20); TextArea ta=new TextArea();
ServerSocket server; Socket client; InputStream in; BufferedReader br; OutputStream out; BufferedWriter bw; public ChatS() { super("Server"); add("North",tf); add("Center",ta); setSize(250,250); show(); try { server=new ServerSocket(5001); client=server.accept(); ta.append("Client host:"+client.getInetAddress().getHostName()+"\n\n"); in=client.getInputStream(); out=client.getOutputStream(); } catch(IOException ioe){} while(true) { try { byte[] buf=new byte[200]; in.read(buf); String str=new String(buf); ta.append("Client say:"+str); ta.append("\n"); } catch(IOException e){} } } public boolean action(Event e,Object o) { try { String str=tf.getText(); byte[] buf=str.getBytes(); tf.setText(null); out.write(buf); ta.append("I say:"+str); ta.append("\n"); } catch(IOException ioe){} return true; } public static void main(String args[]) { new ChatS(); } }
客户端:
import java.io.*; import java.awt.*; import java.awt.event.*; import java.net.*;
public class ChatC extends Frame { TextField tf=new TextField(20); TextArea ta=new TextArea(); Socket client; InputStream in; BufferedReader br; OutputStream out; BufferedWriter bw; public ChatC() { super("Client"); add("North",tf); add("Center",ta); setSize(250,250); show(); try { client=new Socket("127.0.0.1",5001); ta.append("Connect to:"+client.getInetAddress().getHostName()+"\n\n"); in=client.getInputStream(); br=new BufferedReader(new InputStreamReader(in)); out=client.getOutputStream(); bw=new BufferedWriter(new OutputStreamWriter(out)); } catch(IOException ioe){} while(true) { try { byte[] buf=new byte[200]; in.read(buf); String str=new String(buf); ta.append("Server say:"+str); ta.append("\n"); } catch(IOException e){} } } public boolean action(Event e,Object o) { try { String str=tf.getText(); byte[] buf=str.getBytes(); tf.setText(null); out.write(buf); ta.append("I say:"+str); ta.append("\n"); } catch(IOException ioe){} return true; }
public static void main(String args[]) { new ChatC(); } }

|
|
相关文章:相关软件: |
|