java聊天室,java聊天室項目報告心得體會

本文目錄一覽:

java語音聊天室怎樣實現啊?

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

java 聊天室 源代碼

【ClientSocketDemo.java 客戶端Java源代碼】

import java.net.*;

import java.io.*;

public class ClientSocketDemo

{

//聲明客戶端Socket對象socket

Socket socket = null;

//聲明客戶器端數據輸入輸出流

DataInputStream in;

DataOutputStream out;

//聲明字符串數組對象response,用於存儲從服務器接收到的信息

String response[];

//執行過程中,沒有參數時的構造方法,本地服務器在本地,取默認端口10745

public ClientSocketDemo()

{

try

{

//創建客戶端socket,服務器地址取本地,端口號為10745

socket = new Socket(“localhost”,10745);

//創建客戶端數據輸入輸出流,用於對服務器端發送或接收數據

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

//獲取客戶端地址及端口號

String ip = String.valueOf(socket.getLocalAddress());

String port = String.valueOf(socket.getLocalPort());

//向服務器發送數據

out.writeUTF(“Hello Server.This connection is from client.”);

out.writeUTF(ip);

out.writeUTF(port);

//從服務器接收數據

response = new String[3];

for (int i = 0; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

//執行過程中,有一個參數時的構造方法,參數指定服務器地址,取默認端口10745

public ClientSocketDemo(String hostname)

{

try

{

//創建客戶端socket,hostname參數指定服務器地址,端口號為10745

socket = new Socket(hostname,10745);

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

String ip = String.valueOf(socket.getLocalAddress());

String port = String.valueOf(socket.getLocalPort());

out.writeUTF(“Hello Server.This connection is from client.”);

out.writeUTF(ip);

out.writeUTF(port);

response = new String[3];

for (int i = 0; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

//執行過程中,有兩個個參數時的構造方法,第一個參數hostname指定服務器地址

//第一個參數serverPort指定服務器端口號

public ClientSocketDemo(String hostname,String serverPort)

{

try

{

socket = new Socket(hostname,Integer.parseInt(serverPort));

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

String ip = String.valueOf(socket.getLocalAddress());

String port = String.valueOf(socket.getLocalPort());

out.writeUTF(“Hello Server.This connection is from client.”);

out.writeUTF(ip);

out.writeUTF(port);

response = new String[3];

for (int i = 0; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

public static void main(String[] args)

{

String comd[] = args;

if(comd.length == 0)

{

System.out.println(“Use localhost(127.0.0.1) and default port”);

ClientSocketDemo demo = new ClientSocketDemo();

}

else if(comd.length == 1)

{

System.out.println(“Use default port”);

ClientSocketDemo demo = new ClientSocketDemo(args[0]);

}

else if(comd.length == 2)

{

System.out.println(“Hostname and port are named by user”);

ClientSocketDemo demo = new ClientSocketDemo(args[0],args[1]);

}

else System.out.println(“ERROR”);

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

【ServerSocketDemo.java 服務器端Java源代碼】

import java.net.*;

import java.io.*;

public class ServerSocketDemo

{

//聲明ServerSocket類對象

ServerSocket serverSocket;

//聲明並初始化服務器端監聽端口號常量

public static final int PORT = 10745;

//聲明服務器端數據輸入輸出流

DataInputStream in;

DataOutputStream out;

//聲明InetAddress類對象ip,用於獲取服務器地址及端口號等信息

InetAddress ip = null;

//聲明字符串數組對象request,用於存儲從客戶端發送來的信息

String request[];

public ServerSocketDemo()

{

request = new String[3]; //初始化字符串數組

try

{

//獲取本地服務器地址信息

ip = InetAddress.getLocalHost();

//以PORT為服務端口號,創建serverSocket對象以監聽該端口上的連接

serverSocket = new ServerSocket(PORT);

//創建Socket類的對象socket,用於保存連接到服務器的客戶端socket對象

Socket socket = serverSocket.accept();

System.out.println(“This is server:”+String.valueOf(ip)+PORT);

//創建服務器端數據輸入輸出流,用於對客戶端接收或發送數據

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

//接收客戶端發送來的數據信息,並顯示

request[0] = in.readUTF();

request[1] = in.readUTF();

request[2] = in.readUTF();

System.out.println(“Received messages form client is:”);

System.out.println(request[0]);

System.out.println(request[1]);

System.out.println(request[2]);

//向客戶端發送數據

out.writeUTF(“Hello client!”);

out.writeUTF(“Your ip is:”+request[1]);

out.writeUTF(“Your port is:”+request[2]);

}

catch(IOException e){e.printStackTrace();}

}

public static void main(String[] args)

{

ServerSocketDemo demo = new ServerSocketDemo();

}

}

java聊天室怎麼保存聊天記錄一定的時間?

將聊天記錄放在一個容器里 如ArrayList,如果聊天內容超過了100行。刪除前50行,基本上都是這麼做的。不懂請追問。

如何用Java編寫一個聊天室程序,可以支持單聊和多聊?

聊天程序又叫即時通訊系統

分類兩部分:客戶端和服務端

客戶端:用戶聊天的界面

服務端:接收消息並轉發到指定用戶

其中服務端和客戶端用tcp或者udp連接,使用socket編程完成通信。

按着這個思路可以開發出一套聊天程序

客戶端常用界面 bs版本的又layim

服務端 openfire或者自己實現

java聊天室如何實現聊天氣泡

1、設置指示器(即箭頭,後面統稱指示器)的方向、位置、大小。

2、自定義指示器樣式(默認為等腰三角形)。

3、設置氣泡Z軸方向高度和陰影顏色(隱殲有高度才會有陰影)。

4、設置子控件是否填充到指示器中(PC版微信中圖片效果)。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/250905.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-13 13:31
下一篇 2024-12-13 13:31

相關推薦

  • 掌握magic-api item.import,為你的項目注入靈魂

    你是否曾經想要導入一個模塊,但卻不知道如何實現?又或者,你是否在使用magic-api時遇到了無法導入的問題?那麼,你來到了正確的地方。在本文中,我們將詳細闡述magic-api的…

    編程 2025-04-29
  • 如何將Java項目分成Modules並使用Git進行版本控制

    本文將向您展示如何將Java項目分成模塊,並使用Git對它們進行版本控制。分割Java項目可以使其更容易維護和拓展。Git版本控制還可以讓您跟蹤項目的發展並協作開發。 一、為什麼要…

    編程 2025-04-28
  • GitHub好玩的開源項目

    本文旨在介紹GitHub上一些好玩的開源項目,並提供代碼示例供讀者參考和學習。 一、Emoji列表 GitHub上有一份完整的Emoji列表,它支持各種平台和設備,方便用戶在Git…

    編程 2025-04-28
  • Python爬蟲文檔報告

    本文將從多個方面介紹Python爬蟲文檔的相關內容,包括:爬蟲基礎知識、爬蟲框架及常用庫、爬蟲實戰等。 一、爬蟲基礎知識 1、爬蟲的定義: 爬蟲是一種自動化程序,通過模擬人的行為在…

    編程 2025-04-28
  • Django框架:從簡介到項目實戰

    本文將從Django的介紹,以及如何搭建Django環境開始,逐步深入到Django模型、視圖、模板、表單,最後通過一個小型項目實戰,進行綜合性的應用,讓讀者獲得更深入的學習。 一…

    編程 2025-04-28
  • Python貪吃蛇遊戲設計報告

    本文將從遊戲設計的目標、實現思路、技術要點、代碼實現等多個方面對Python貪吃蛇遊戲進行詳細闡述。 一、遊戲設計的目標 貪吃蛇是一款經典的遊戲,我們的遊戲設計不僅要實現基本的玩法…

    編程 2025-04-28
  • IIS部署Python項目

    本文將從多個方面詳細闡述在IIS上如何部署Python項目。包括安裝IIS、安裝Python、配置IIS、編寫和部署Python代碼等內容。 一、安裝IIS和Python 在開始進…

    編程 2025-04-28
  • 如何使用TKE來開發Java項目

    本文將從多個方面詳細闡述如何使用TKE(Theia IDE)來進行Java項目的開發。TKE是一個功能強大的在線集成開發環境,提供了大量的工具和插件,讓開發者可以高效地進行Java…

    編程 2025-04-28
  • Spark開源項目-大數據處理的新星

    Spark是一款開源的大數據分佈式計算框架,它能夠高效地處理海量數據,並且具有快速、強大且易於使用的特點。本文將從以下幾個方面闡述Spark的優點、特點及其相關使用技巧。 一、Sp…

    編程 2025-04-27
  • 如何解決IDEA創建SpringBoot項目無法連接Spring.io中心

    該問題可能是由於IDEA設置的代理問題,缺乏必要的插件和配置,或網絡原因引起的。 一、代理設置 1、在IDEA中進入File->Settings->Appearance…

    編程 2025-04-27

發表回復

登錄後才能評論