用户登录
用户注册

分享至

java聊天软件源码 java聊天软件源代码

  • 作者: 大舌头
  • 来源: 51数据库
  • 2020-04-15

java聊天软件源码

急求一个JAVA聊天室代码

protected void Button1_Click(object sender, EventArgs e){if (FileUpload1.HasFile==true){try{StreamReader sr = new StreamReader(FileUpload1.FileContent,System.Text.Encoding.GetEncoding("Shift_JIS"));string line;while ((line = sr.ReadLine()) != null){string[] array = line.Split(',');int StudentID = int.Parse(array[1]);string pdffileName = array[2];

用java编写多人聊天室程序,不需要太复杂求大神发给我,最好能运...

文件1:package com.qq; import java.io.InputStream; import java.io.DataInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.DataOutputStream; import java.io.BufferedReader; import java.net.ServerSocket; import java.net.Socket; import java.io.IOException; import java.util.Date; public class Server { public Server() { try { ServerSocket s = new ServerSocket(8888); Socket ss = s.accept(); OutputStream out = ss.getOutputStream(); DataOutputStream dout = new DataOutputStream(out); InputStream in = ss.getInputStream(); DataInputStream din = new DataInputStream(in); System.out.print(din.readUTF() + "!"); dout.writeUTF("你已经连接到服务器" + "\t" + "你的地址:" + ss.getInetAddress() + "\t" + "你的链接端口:" + ss.getLocalPort() + "\n"); new ReadMessage(din).start(); new SendMessage(dout).start(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Server(); } }// 接受客户端信息 class ReadMessage extends Thread { private DataInputStream din; public ReadMessage(DataInputStream din) { this.din = din; } public void run() { String str; try { while (true) { str = din.readUTF(); System.out.println(new Date().toLocaleString() + "客户端说:" + str); if (str.equals("bye")) { System.out.println("客户端下线!"); break; } } } catch (IOException e) { e.printStackTrace(); } } }// 发出服务器信息 class SendMessage extends Thread { private DataOutputStream dout; public SendMessage(DataOutputStream dout) { this.dout = dout; } public void run() { InputStreamReader inr = new InputStreamReader(System.in); BufferedReader buf = new BufferedReader(inr); String str; try { while (true) { str = buf.readLine(); dout.writeUTF(str); if (str.equals("bye")) { System.out.println("服务器退出!"); System.exit(1); } } } catch (IOException e) { e.printStackTrace(); } } }---------------------------------------- 文件2:package com.qq; import java.io.InputStream; import java.io.DataInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.DataOutputStream; import java.io.BufferedReader; import java.net.Socket; import java.io.IOException; import java.util.Date; public class Client { public Client() { try { Socket s = new Socket("192.168.1.2", 8888); InputStream in = s.getInputStream(); DataInputStream din = new DataInputStream(in); OutputStream out = s.getOutputStream(); DataOutputStream dout = new DataOutputStream(out); dout.writeUTF("服务器你好!我是客户端"); System.out.println(din.readUTF()); new Thread(new SenderMessage(dout)).start(); new Thread(new ReaderMessage(din)).start(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Client(); } } class ReaderMessage implements Runnable { private DataInputStream din; public ReaderMessage(DataInputStream din) { this.din = din; } public void run() { String str; try { while (true) { str = din.readUTF(); System.out.println(new Date().toLocaleString() + "服务器说:" + str); if (str.equals("bye")) { System.out.println("服务器已经关闭,此程序自动退出!"); break; } } } catch (IOException e) { e.printStackTrace(); } } } class SenderMessage implements Runnable { private DataOutputStream dout; public SenderMessage(DataOutputStream dout) { this.dout = dout; } public void run() { String str; InputStreamReader inf = new InputStreamReader(System.in); BufferedReader buf = new BufferedReader(inf); try { while (true) { str = buf.readLine(); dout.writeUTF(str); if (str.equals("bye")) { System.out.println("客户端自己退出!"); System.exit(1); } } } catch (IOException e) { e.printStackTrace(); } } }

java聊天室代码

import java.io.InputStream; import java.io.DataInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.DataOutputStream; import java.io.BufferedReader; import java.net.ServerSocket; import java.net.Socket; import java.io.IOException; import java.util.Date; class Server { public Server() { try { ServerSocket s=new ServerSocket(8888); Socket ss=s.accept(); OutputStream out=ss.getOutputStream(); DataOutputStream dout=new DataOutputStream(out); InputStream in=ss.getInputStream(); DataInputStream din=new DataInputStream(in); System.out.print(din.readUTF()+"!"); dout.writeUTF("你已经连接到服务器"+"\t"+"你的地址:"+ss.getInetAddress()+"\t" +"你的链接端口:"+ss.getLocalPort()+"\n"); new ReadMessage(din).start(); new SendMessage(dout).start(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Server(); } } //接受客户端信息 class ReadMessage extends Thread { private DataInputStream din; public ReadMessage(DataInputStream din) { this.din=din; } public void run() { String str; try { while (true) { str=din.readUTF(); System.out.println(new Date().toLocaleString()+"客户端说:"+str); if (str.equals("bye")) { System.out.println("客户端下线!"); break; } } } catch (IOException e) { e.printStackTrace(); } } } // 发出服务器信息 class SendMessage extends Thread { private DataOutputStream dout; public SendMessage(DataOutputStream dout) { this.dout=dout; } public void run() { InputStreamReader inr=new InputStreamReader(System.in); BufferedReader buf=new BufferedReader(inr); String str; try { while(true) { str=buf.readLine(); dout.writeUTF(str); if (str.equals("bye")) { System.out.println("服务器退出!"); System.exit(1); } } } catch (IOException e) { e.printStackTrace(); } } } import java.io.InputStream; import java.io.DataInputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.DataOutputStream; import java.io.BufferedReader; import java.net.Socket; import java.io.IOException; import java.util.Date; class Client { public Client() { try { Socket s=new Socket("192.168.1.2",8888); InputStream in=s.getInputStream(); DataInputStream din=new DataInputStream(in); OutputStream out=s.getOutputStream(); DataOutputStream dout=new DataOutputStream(out); dout.writeUTF("服务器你好!我是客户端"); System.out.println(din.readUTF()); new Thread(new SenderMessage(dout)).start(); new Thread(new ReaderMessage(din)).start(); } catch (IOException e) { e.printStackTrace(); } } public static void main(String[] args) { new Client(); } } class ReaderMessage implements Runnable { private DataInputStream din; public ReaderMessage(DataInputStream din) { this.din=din; } public void run() { String str; try { while(true) { str=din.readUTF(); System.out.println(new Date().toLocaleString()+"服务器说:"+str); if (str.equals("bye")) { System.out.println("服务器已经关闭,此程序自动退出!"); break; } } } catch (IOException e) { e.printStackTrace(); } } } class SenderMessage implements Runnable { private DataOutputStream dout; public SenderMessage(DataOutputStream dout) { this.dout=dout; } public void run() { String str; InputStreamReader inf=new InputStreamReader(System.in); BufferedReader buf=new BufferedReader(inf); try { while (true) { str=buf.readLine(); dout.writeUTF(str); if (str.equals("bye")) { System.out.println("客户端自己退出!"); System.exit(1); } } } catch (IOException e) { e.printStackTrace(); } } }

求大神指点,一个java小程序,做一个聊天工具,代码写出来了,没...

给个简单的客户端的例子,lz对比自己的码看看有什么出入 (注意:ClientHandler是inner class)package chap15;import java.io.*;import java.net.*;import java.util.*;public class VerySimpleChatServer{ArrayList clientOutputStreams;public class ClientHandler implements Runnable {BufferedReader reader;Socket sock;public ClientHandler(Socket clientSOcket) {try {sock = clientSOcket;InputStreamReader isReader = new InputStreamReader(sock.getInputStream());reader = new BufferedReader(isReader);} catch (Exception ex) { ex.printStackTrace(); }}public void run() {String message;try {while ((message = reader.readLine()) != null) {System.out.println("read " + message);tellEveryone(message);}} catch (Exception ex) { ex.printStackTrace(); }}}public static void main(String[] args) {new VerySimpleChatServer().go();}public void go() {clientOutputStreams = new ArrayList();try {ServerSocket serverSock = new ServerSocket(5000);while(true) {Socket clientSocket = serverSock.accept();PrintWriter writer = new PrintWriter(clientSocket.getOutputStream());clientOutputStreams.add(writer);Thread t = new Thread(new ClientHandler(clientSocket));t.start();System.out.println("got a connection");}} catch (Exception ex) { ex.printStackTrace(); }}public void tellEveryone(String message) {Iterator it = clientOutputStreams.iterator();while (it.hasNext()) {try {PrintWriter writer = (PrintWriter) it.next();writer.println(message);writer.flush();} catch (Exception ex) { ex.printStackTrace(); }}}}

求一个用JAVA编写的类似MSN的局域网聊天软件程序代码,分客户? ...

客户端 import java.awt.*; import java.awt.event.*; import java.io.*; import java.net.*; public class ChatClient extends Frame { Socket s = null; DataOutputStream dos = null; DataInputStream dis = null; private boolean bConnected = false; TextField tfTxt = new TextField(); TextArea taContent = new TextArea(); Thread tRecv = new Thread(new RecvThread()); public static void main(String[] args) { new ChatClient().launchFrame(); } public void launchFrame() { setLocation(400, 300); this.setSize(300, 300); add(tfTxt, BorderLayout.SOUTH); add(taContent, BorderLayout.NORTH); pack(); this.addWindowListener(new WindowAdapter() { @Override public void windowClosing(WindowEvent arg0) { disconnect(); System.exit(0); } }); tfTxt.addActionListener(new TFListener()); setVisible(true); connect(); tRecv.start(); } public void connect() { try { s = new Socket("127.0.0.1", 8888); dos = new DataOutputStream(s.getOutputStream()); dis = new DataInputStream(s.getInputStream()); System.out.println("connected!"); bConnected = true; } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } } public void disconnect() { try { dos.close(); dis.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } /* try { bConnected = false; tRecv.join(); } catch(InterruptedException e) { e.printStackTrace(); } finally { try { dos.close(); dis.close(); s.close(); } catch (IOException e) { e.printStackTrace(); } } */ } private class TFListener implements ActionListener { public void actionPerformed(ActionEvent e) { String str = tfTxt.getText().trim(); //taContent.setText(str); tfTxt.setText(""); try {//System.out.println(s); dos.writeUTF(str); dos.flush(); //dos.close(); } catch (IOException e1) { e1.printStackTrace(); } } } private class RecvThread implements Runnable { public void run() { try { while(bConnected) { String str = dis.readUTF(); //System.out.println(str); taContent.setText(taContent.getText() + str + '\n'); } } catch (SocketException e) { System.out.println("退出了,bye!"); } catch (EOFException e) { System.out.println("推出了,bye - bye!"); } catch (IOException e) { e.printStackTrace(); } } } } 服务器端 import java.io.*; import java.net.*; import java.util.*; public class ChatServer { boolean started = false; ServerSocket ss = null; List clients = new ArrayList(); public static void main(String[] args) { new ChatServer().start(); } public void start() { try { ss = new ServerSocket(8888); started = true; } catch (BindException e) { System.out.println("端口使用中...."); System.out.println("请关掉相关程序并重新运行服务器!"); System.exit(0); } catch (IOException e) { e.printStackTrace(); } try { while(started) { Socket s = ss.accept(); Client c = new Client(s); System.out.println("a client connected!"); new Thread(c).start(); clients.add(c); //dis.close(); } } catch (IOException e) { e.printStackTrace(); } finally { try { ss.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } class Client implements Runnable { private Socket s; private DataInputStream dis = null; private DataOutputStream dos = null; private boolean bConnected = false; public Client(Socket s) { this.s = s; try { dis = new DataInputStream(s.getInputStream()); dos = new DataOutputStream(s.getOutputStream()); bConnected = true; } catch (IOException e) { e.printStackTrace(); } } public void send(String str) { try { dos.writeUTF(str); } catch (IOException e) { clients.remove(this); System.out.println("对方退出了!我从List里面去掉了!"); //e.printStackTrace(); } } public void run() { try { while(bConnected) { String str = dis.readUTF(); System.out.println(str); for(int i=0; i Client c = clients.get(i); c.send(str);//System.out.println(" a string send !"); } /* for(Iterator it = clients.iterator(); it.hasNext(); ) { Client c = it.next(); c.send(str); } */ /* Iterator it = clients.iterator(); while(it.hasNext()) { Client c = it.next(); c.send(str); } */ } } catch (EOFException e) { System.out.println("Client closed!"); } catch (IOException e) { e.printStackTrace(); } finally { try { if(dis != null) dis.close(); if(dos != null) dos.close(); if(s != null) { s.close(); //s = null; } } catch (IOException e1) { e1.printStackTrace(); } } } } }

转载请注明出处51数据库 » java聊天软件源码

软件
前端设计
程序设计
Java相关