導航:首頁 > 編程語言 > java聊天室

java聊天室

發布時間:2022-01-17 15:31:58

『壹』 基於java的多人聊天室

用CS模式,那就太簡單了。。沒什麼多說的。java.net.Socket

至於B/S模式吧,其他的都還簡單點,發送文件那個估計不太簡單。

畢竟瀏覽器 上進行文件傳輸,很麻煩。

可以使用下GWT框架,基於ajax技術,,如果覺得界面難看。可以用GXT

『貳』 用java編寫簡單的聊天室

正好我一本書上有這個程序的代碼,發給你好了。程序很簡單,一看就明白。前兩天我還用它裡面的方法做了一個遠程監控程序。如果你有一定java基礎,即使你以前沒聽說過socket,也能在一兩小時內參透它。

『叄』 java語音聊天室怎樣實現啊

實現java語音聊天室的方法很簡單,要麼自己從零研發,要麼直接使用別人的成品,意思是找網上的第三方,他們自己有研發產品的。建議考慮ZEGO即構科技,他們的語聊房SDK很好用的,提供低延遲和低成本的方案供選擇,在保障語音質量的前提下,碼率最低可到8kbps,可以試試。

『肆』 JAVA 聊天室伺服器端和客戶端完整代碼

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;
import java.io.*;

public class Server extends JFrame
{
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu("文件");
JMenu m2 = new JMenu("幫助");
JMenuItem mi1 = new JMenuItem("連接");
JMenuItem mi2 = new JMenuItem("退出");
JLabel lab1 = new JLabel("用戶在線列表");
JLabel lab2 = new JLabel("消息:");
JTextArea ta = new JTextArea(9,30);
java.awt.List list = new java.awt.List(9);
JTextField tf = new JTextField(24);
JButton b = new JButton("發送");
JScrollPane sp = new JScrollPane();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();

ServerSocket serverSocket;
Socket socket;
ArrayList array = new ArrayList();
int connect;

public Server()
{
super("聊天伺服器");
setJMenuBar(mb);
mb.add(m1);
mb.add(m2);
m1.add(mi1);
m1.addSeparator();
m1.add(mi2);
sp.getViewport().add(ta);
p1.setLayout(new BorderLayout());
p3.add(lab1);
p1.add(p3,BorderLayout.NORTH);
p1.add(list,BorderLayout.SOUTH);
p2.add(lab2);
p2.add(tf);
p2.add(b);
getContentPane().add(sp,BorderLayout.NORTH);
getContentPane().add(p1,BorderLayout.CENTER);
getContentPane().add(p2,BorderLayout.SOUTH);
pack();
//伺服器端界面居中顯示
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if(frameSize.width > screenSize.width)
{
frameSize.width = screenSize.width;
}
if(frameSize.height > screenSize.height)
{
frameSize.height = screenSize.height;
}
setLocation((screenSize.width - frameSize.width)/2,
(screenSize.height - frameSize.height)/2);
setSize(400,430);
setVisible(true);
setResizable(false);

mi1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(serverSocket == null)
{
try
{
serverSocket = new ServerSocket(7000);
ta.append("系統提示:"+" 聊天伺服器"
+" 正在啟動......\n");
}
catch(IOException ex)
{
ta.append("系統提示:"+" 聊天伺服器"
+" 啟動失敗!\n");
}
}
else
{
ta.append("系統消息:"+" 聊天伺服器"
+" 已經啟動......\n");
}
//啟動監聽客戶端連接線程
Thread t = new Watch();
t.start();
}
});
mi2.addActionListener(new ServerListener());
b.addActionListener(new ServerListener());
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
closeAll();
System.exit(0);
}
});
}

class Watch extends Thread
{
public void run()
{
while(true)
{
if(array.size() <= 10)
{
try
{
socket = serverSocket.accept();
}
catch(IOException ex)
{
ta.append("系統消息: "+ex+"\n");
}
//創建客戶端線程,一個線程對應一個客戶端
Client c = new Client(socket);
array.add(c);
c.start();
}
else
{
ta.append("系統消息:"+" 聊天伺服器"
+" 已經超過最大連接數,請待會連接!\n");
}
}
}
}

class Client extends Thread
{
String name;
String ip;
String ipAddress;
Socket socket;
BufferedReader br;
PrintStream ps;

public Client(Socket s)
{
try
{
socket = s;
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
ps = new PrintStream(s.getOutputStream());
}
catch (IOException ex)
{
ta.append("系統消息: "+ex+"\n");
}
}

public void run()
{
String info;
try
{
while(true)
{
info = br.readLine();
if(info == null)
break;
StringTokenizer st = new StringTokenizer(info, ":");
String keyword = st.nextToken();

//處理客戶端傳來的信息
if (keyword.equals("CONNECT"))
{
name = st.nextToken();
ip = st.nextToken();
ipAddress = ip.substring(ip.indexOf("/")+1);
ta.append("系統消息: " + name + "/"
+ ipAddress +" 已經連接\n");
list.add(name + " " + ip
+" 已經登錄");
notifyChatRoom();
}
else if (keyword.equals("MSG"))
{
String broadcast = st.nextToken();
StringBuffer message = new StringBuffer("MSG:" +broadcast);
message.append(st.nextToken("\0"));
if (broadcast.equals("BROAD"))
{

『伍』 Java實現一個網路聊天室 可以用什麼設計架構怎麼設計

那看你用什麼寫了。如果B/S方式的話,簡單點struts配上ajax就可以了。C/S方式的話,網上找幾個例子,看看tcp連接怎麼建立,線程怎麼使用,swing怎麼用

『陸』 java 聊天室 源代碼

最簡單的聊天室

『柒』 Java聊天室大概是什麼技術啊

java socket編程

『捌』 怎麼用java實現聊天室的私聊功能

不知道你們群聊是不是這么實現的?
一個用戶群聊/一個用戶要看到所有人發的信息,都需要通過伺服器來轉發。而群聊就是伺服器把每一個用戶說的話都轉發給你看。
那麼私聊就是
客戶端發送 ip/私聊的話,發給伺服器 伺服器按一定格式進行拆分。拆完成單獨的 IP和 私聊的話。然後發送給那個指定Ip。

『玖』 java聊天室怎麼實現

基本原理就是弄一個全局的容器,每進來一個人,將ip等相關信息放入容器,有人發送消息時,遍歷容器,向除它而外的所有人發送該消息。並不是很難,但是要考慮的細節還是不少的

閱讀全文

與java聊天室相關的資料

熱點內容
android系統運行動態編譯的程序 瀏覽:417
計算編程中常用的if語句是 瀏覽:734
linux文件夾許可權亂了 瀏覽:909
程序員職業病預防保健操 瀏覽:678
c程序修改後需不需要重新編譯 瀏覽:723
怎樣把圖片分別放置在文件夾中 瀏覽:871
推流伺服器地址是什麼 瀏覽:630
java允許多重繼承 瀏覽:511
解壓小玩具好玩又可愛 瀏覽:408
騰訊雲大帶寬伺服器 瀏覽:821
加密鎖的售後 瀏覽:268
linux登不上去 瀏覽:729
聯想伺服器休眠後如何喚醒 瀏覽:111
四川話女孩學習編程 瀏覽:322
編譯原理文法區分 瀏覽:1001
教師可以做程序員嘛 瀏覽:637
終結戰場安卓國際服怎麼下載 瀏覽:155
現在的高端伺服器屬於什麼 瀏覽:810
企業銀行解壓流程 瀏覽:447
用app壓縮文件 瀏覽:227