向高手求一程序代码 本人现在急需一个JAVA写的网络聊天程序,越简单越好.但最好是GUI形式的.就像这样:这个网址中的代码不能运行.由于我是初学JAVA还请高手帮忙给个能运行的完整程序出来.谢谢. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 package test.cs;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class TalkClient { public static void main(String[] args) { try { Socket socket = new Socket("211.144.155.20", 23); BufferedReader sin = new BufferedReader(new InputStreamReader(System.in)); PrintWriter os = new PrintWriter(socket.getOutputStream()); BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream())); String readline; readline = sin.readLine(); while (!readline.equals("bye")) { os.println(readline); os.flush(); System.out.println("Server:" + is.readLine()); readline = sin.readLine(); } os.close(); is.close(); socket.close(); } catch (UnknownHostException e) { System.out.println("cann't find sever.program end."); System.exit(0); e.printStackTrace(); } catch (IOException e) { System.out.println("can't find sever.program end"); System.exit(0); } catch (Exception e) { e.getMessage(); } }}package test.cs;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.ServerSocket;import java.net.Socket;import java.util.ArrayList;public class TalkServer { public static void main(String[] args) { ServerSocket server = null; try { // boolean listening=true; try { server = new ServerSocket(14700); } catch (IOException e) { System.out.println("can't listen to:" + e); e.getMessage(); } while (true) { Socket socket = null; try { socket = server.accept(); // 接收客户连接 MyThread workThread = new MyThread(socket); // 创建一个工作线程 workThread.start(); // 启动工作线程 } catch (Exception e) { System.out.println("error " + e); e.printStackTrace(); } } } catch (Exception e) { System.out.println("error:" + e); e.getMessage(); } finally { try { if (server != null) server.close(); } catch (Exception ex) { } } }}class MyThread extends Thread { private Socket socket = null; public MyThread(Socket socket) { this.socket = socket; } public void run() { try { String line; BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream())); PrintWriter os = new PrintWriter(socket.getOutputStream()); line = is.readLine(); while (!line.equals("bye")) { os.println("client:" + line); os.flush(); line = is.readLine(); Object o=null; if( o instanceof String[]) {} } is.close(); os.close(); os.println("Thread exit!"); } catch (Exception ex) { ex.printStackTrace(); } finally { try { socket.close(); } catch (Exception ex) { } } } public void listArray(ArrayList list){ for(Object o : list) { if(o instanceof String[]) { String[] strs = (String[])o; for(String str : strs) { System.out.println(str); } }else if(o instanceof ArrayList) { listArray((ArrayList)o); }else { System.out.println("Not SUPPORT TYPE!!!"); continue; } } }} 发错了package test.cs;import java.io.BufferedReader;import java.io.IOException;import java.io.InputStreamReader;import java.io.PrintWriter;import java.net.Socket;import java.net.UnknownHostException;public class TalkClient { public static void main(String[] args) { try { Socket socket = new Socket("localhost", 14700); // 用这个端口 BufferedReader sin = new BufferedReader(new InputStreamReader(System.in)); PrintWriter os = new PrintWriter(socket.getOutputStream()); BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream())); String readline; readline = sin.readLine(); while (!readline.equals("bye")) { os.println(readline); os.flush(); System.out.println("Server:" + is.readLine()); readline = sin.readLine(); } os.close(); is.close(); socket.close(); } catch (UnknownHostException e) { System.out.println("cann't find sever.program end."); System.exit(0); e.printStackTrace(); } catch (IOException e) { System.out.println("can't find sever.program end"); System.exit(0); } catch (Exception e) { e.getMessage(); } }} 呵呵,刚才Ping了一下"211.144.155.20",还真连上了。你开着服务端,我们用你写的程序来聊聊啊 不错.谢了.不过我最近弄了一份GUI的大家试试.import java.io.*;import java.awt.*;import java.net.*;import java.awt.event.*;public class chatClient extends Frame implements ActionListener{ Label label=new Label("聊天"); Panel panel=new Panel(); TextField tf=new TextField(10); TextArea ta=new TextArea(); Socket client; InputStream in; OutputStream out; public chatClient() { super("客户机"); setSize(250,250); panel.add(label); panel.add(tf); tf.addActionListener(this); add("North",panel); add("Center",ta); addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}}); show(); try { //InetAddress.getLocalHost() client=new Socket(192.168.1.112,5000); ta.append("已连接到服务器:"+client.getInetAddress().getHostAddress()+"\n\n"); in=client.getInputStream(); out=client.getOutputStream(); } catch(IOException ioe){} while(true) { try { byte [] buf=new byte[256]; in.read(buf); String str=new String(buf); ta.append("服务器说:"+str); ta.append("\n"); } catch(IOException e){} } } public void actionPerformed(ActionEvent e) { try { String str=tf.getText(); byte[] buf=str.getBytes(); tf.setText(null); out.write(buf); ta.append("我说:"+str); ta.append("\n"); } catch(IOException ioe){} } public static void main (String[] args) { new chatClient(); }} import java.io.*;import java.awt.*;import java.net.*;import java.awt.event.*;public class chatServer extends Frame implements ActionListener{ Label label=new Label("聊天"); Panel panel=new Panel(); TextField tf=new TextField(10); TextArea ta=new TextArea(); ServerSocket server; Socket client; InputStream in; OutputStream out; public chatServer() { super("服务器"); setSize(250,250); panel.add(label); panel.add(tf); tf.addActionListener(this); add("North",panel); add("Center",ta); addWindowListener(new WindowAdapter() {public void windowClosing(WindowEvent e) {System.exit(0);}}); show(); try { server=new ServerSocket(5000); client=server.accept(); ta.append("已连接的客户机:"+client.getInetAddress().getHostAddress()+"\n\n"); in=client.getInputStream(); out=client.getOutputStream(); } catch(IOException ioe){} while(true) { try { byte [] buf=new byte[256]; in.read(buf); String str=new String(buf); ta.append("客户机说:"+str); ta.append("\n"); } catch(IOException ioe){} } } public void actionPerformed(ActionEvent e) { try { String str=tf.getText(); byte[] buf=str.getBytes(); tf.setText(null); out.write(buf); ta.append("我说:"+str); ta.append("\n"); } catch(IOException ioe){} } public static void main (String[] args) { new chatServer(); }} 关于使用多个 catch 语句捕获多个异常问题。 jdk的升级问题 请教一个JAVA SWING JLabel没有显示出图片的问题 怎么使格式规范化 六个字难死我啊!~~ SOS 哪位大哥给一个JAVA写的快速排序的代码啊,很急~ 求救!!!!!!!!!! 各位大虾帮帮我:如何把jEditorPane中的内容保存到txt文件中,然后把txt中的内容倒入到jEditorPane 为什么java的继承,在方法和成员变量两边表现不一样呢 什么时候用Integer什么时候用int?? sql server2005 日期问题 提问!!关于赌场里牌的模拟程序。
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;public class TalkClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("211.144.155.20", 23);
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline = sin.readLine();
while (!readline.equals("bye")) {
os.println(readline);
os.flush();
System.out.println("Server:" + is.readLine());
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
} catch (UnknownHostException e) {
System.out.println("cann't find sever.program end.");
System.exit(0);
e.printStackTrace();
} catch (IOException e) {
System.out.println("can't find sever.program end");
System.exit(0); } catch (Exception e) {
e.getMessage();
}
}}package test.cs;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;public class TalkServer {
public static void main(String[] args) {
ServerSocket server = null;
try {
// boolean listening=true;
try {
server = new ServerSocket(14700);
} catch (IOException e) {
System.out.println("can't listen to:" + e);
e.getMessage();
}
while (true) {
Socket socket = null;
try {
socket = server.accept(); // 接收客户连接
MyThread workThread = new MyThread(socket); // 创建一个工作线程
workThread.start(); // 启动工作线程
} catch (Exception e) {
System.out.println("error " + e);
e.printStackTrace();
}
}
} catch (Exception e) {
System.out.println("error:" + e);
e.getMessage();
} finally {
try {
if (server != null)
server.close();
} catch (Exception ex) { }
}
}
}class MyThread extends Thread {
private Socket socket = null; public MyThread(Socket socket) {
this.socket = socket;
} public void run() {
try {
String line;
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os = new PrintWriter(socket.getOutputStream());
line = is.readLine();
while (!line.equals("bye")) {
os.println("client:" + line);
os.flush();
line = is.readLine();
Object o=null;
if( o instanceof String[]) {}
}
is.close();
os.close();
os.println("Thread exit!");
} catch (Exception ex) {
ex.printStackTrace();
} finally {
try {
socket.close();
} catch (Exception ex) {
}
}
}
public void listArray(ArrayList list){
for(Object o : list) {
if(o instanceof String[]) {
String[] strs = (String[])o;
for(String str : strs) {
System.out.println(str);
}
}else if(o instanceof ArrayList) {
listArray((ArrayList)o);
}else {
System.out.println("Not SUPPORT TYPE!!!");
continue;
}
}
}
}
package test.cs;import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;public class TalkClient {
public static void main(String[] args) {
try {
Socket socket = new Socket("localhost", 14700); // 用这个端口
BufferedReader sin = new BufferedReader(new InputStreamReader(System.in));
PrintWriter os = new PrintWriter(socket.getOutputStream());
BufferedReader is = new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline = sin.readLine();
while (!readline.equals("bye")) {
os.println(readline);
os.flush();
System.out.println("Server:" + is.readLine());
readline = sin.readLine();
}
os.close();
is.close();
socket.close();
} catch (UnknownHostException e) {
System.out.println("cann't find sever.program end.");
System.exit(0);
e.printStackTrace();
} catch (IOException e) {
System.out.println("can't find sever.program end");
System.exit(0); } catch (Exception e) {
e.getMessage();
}
}}
import java.io.*;
import java.awt.*;
import java.net.*;
import java.awt.event.*;
public class chatClient extends Frame implements ActionListener
{
Label label=new Label("聊天");
Panel panel=new Panel();
TextField tf=new TextField(10);
TextArea ta=new TextArea();
Socket client;
InputStream in;
OutputStream out;
public chatClient()
{
super("客户机");
setSize(250,250);
panel.add(label);
panel.add(tf);
tf.addActionListener(this);
add("North",panel);
add("Center",ta);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});
show();
try
{
//InetAddress.getLocalHost()
client=new Socket(192.168.1.112,5000);
ta.append("已连接到服务器:"+client.getInetAddress().getHostAddress()+"\n\n");
in=client.getInputStream();
out=client.getOutputStream();
}
catch(IOException ioe){} while(true)
{
try
{
byte [] buf=new byte[256];
in.read(buf);
String str=new String(buf);
ta.append("服务器说:"+str);
ta.append("\n");
}
catch(IOException e){}
}
}
public void actionPerformed(ActionEvent e)
{
try
{
String str=tf.getText();
byte[] buf=str.getBytes();
tf.setText(null);
out.write(buf);
ta.append("我说:"+str);
ta.append("\n");
}
catch(IOException ioe){}
}
public static void main (String[] args) {
new chatClient();
}
}
import java.awt.*;
import java.net.*;
import java.awt.event.*;
public class chatServer extends Frame implements ActionListener
{
Label label=new Label("聊天");
Panel panel=new Panel();
TextField tf=new TextField(10);
TextArea ta=new TextArea();
ServerSocket server;
Socket client;
InputStream in;
OutputStream out;
public chatServer()
{
super("服务器");
setSize(250,250);
panel.add(label);
panel.add(tf);
tf.addActionListener(this);
add("North",panel);
add("Center",ta);
addWindowListener(new WindowAdapter()
{public void windowClosing(WindowEvent e)
{System.exit(0);}});
show();
try
{
server=new ServerSocket(5000);
client=server.accept();
ta.append("已连接的客户机:"+client.getInetAddress().getHostAddress()+"\n\n");
in=client.getInputStream();
out=client.getOutputStream();
}
catch(IOException ioe){} while(true)
{
try
{
byte [] buf=new byte[256];
in.read(buf);
String str=new String(buf);
ta.append("客户机说:"+str);
ta.append("\n");
}
catch(IOException ioe){}
}
}
public void actionPerformed(ActionEvent e)
{
try
{
String str=tf.getText();
byte[] buf=str.getBytes();
tf.setText(null);
out.write(buf);
ta.append("我说:"+str);
ta.append("\n");
}
catch(IOException ioe){}
}
public static void main (String[] args) {
new chatServer();
}
}