⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 一个基于tcp的聊天程序 .txt

📁 Java编写的基于Socket的聊天室程序
💻 TXT
字号:
  一个基于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(); 
} 
} 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -