Java编写的基于Socket的聊天室程序

源代码在线查看: 一个基于tcp的聊天程序 .txt

软件大小: 12 K
上传用户: atom0722
关键词: Socket Java 编写 程序
下载地址: 免注册下载 普通下载 VIP

相关代码

				  一个基于TCP的聊天程序 
				这是个基于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(); 
				} 
				} 
							

相关资源