Ⅰ 用java編寫的聊天室,發送的表情是靜態的,如何能發送動態表情
讓顯示框支持gif圖片應該可以
Ⅱ java Myeclips環境中編輯聊天室怎樣實現表情的發送要求具體代碼。
你的具體代碼是什麼樣的呢,我這里只介紹如何發送
File file=new File(path);//這里的path是你要發送的圖片的路徑
b = (int) file.length();//獲得圖片大小
byte[] bt=new byte[b];//初始化一個圖片大小的byte數組
RandomAccessFile raf = new RandomAccessFile(path", "r");//初始化一個讀圖片的流。path剛上面介紹了
raf.read(bt);//將圖片讀入byte數組。當然你可以將圖片的後綴及其名字也寫如byte數組中,這將是你以後便於操作
raf.close();
假如你現在獲得了這樣一個byte數組,那麼發送表情就是發送這里的byte數組,相信socket的發送流你會吧,不會了可以問我!
當然發送了你就得接收,很簡單你就是將byte數組接收過來,然後如果你將後綴及其名字寫入了byte就先將他們讀出來,然後剩下的就是圖片的內容,你用同樣的流寫入某個地方就行了,
RandomAccessFile raf1 = new RandomAccessFile(path1, "rw");//這里的path1是我打算寫到的地方,
raf1.write(bt1);//將接收到的bt1即接收到的byte數組寫入指定的地方,當然你要是顯示在那個聊天窗口,得實現窗口顯示圖片的內容即可
raf1.close();
Ⅲ 用Java編寫一個簡單的二人聊天室
給你做了個 ,已經發到了你的郵箱,請注意查收。。
Ⅳ java聊天室如何發送自定義字體並讓其顯示
我舉個離子來.. 你電腦中裝有文頂霹靂體自,好,你用這種字體發送給對方,而對方電腦沒有這種字體的話,就會以卻省的方式顯示默認的宋體或別的字體!就這樣而已..實現不了的!只有兩部電腦有同樣的字體才能顯示,就像你用QQ你用一種字體和別人聊天別人電腦沒裝那種字體就顯示不出你發的那種字體來!
Ⅳ JAVA聊天室程序發送圖片代碼
寫入資料庫中就可以了啊....
Ⅵ 急急急,在線等Java編程高手來,在聊天室中如何實現發送消息和顯示聊天消息內容,我只寫了框架,如下
你這根本什麼都沒寫啊,原來寫了個模擬QQ的,不過沒去畫界面,供你參考下,希望能幫到你,主要的是你把原理弄清楚就應該沒問題了
伺服器:
import java.io.*;
import java.net.*;
import java.util.HashMap;
import java.util.Scanner;
import java.util.regex.*;
public class Server
{
/**
* @param args
*/
private int count = 0;
private int num = 0;
HashMap<Integer,Socket> clients = new HashMap<Integer,Socket>();
public Server()
{
try
{
ServerSocket server = new ServerSocket(33333);
while(true)
{
Socket fromClient = server.accept();
count++;
num++;
clients.put(count, fromClient);
new Thread()
{
public void run()
{
receive();
}
}.start();
new Thread()
{
public void run()
{
send();
}
}.start();
}
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void receive()
{
try
{
BufferedReader read = new BufferedReader(new InputStreamReader(clients.get(count).getInputStream()));
int tmp = count;
int temp = 0;
while(true)
{
String value = "";
try
{
value = read.readLine();
String regex = "^ *~ *(\\d+) *:(.*)";
Pattern pat = Pattern.compile(regex);
Matcher match = pat.matcher(value);
if(match.find())
{
temp = Integer.valueOf(match.group(1));
BufferedWriter write = new BufferedWriter(new OutputStreamWriter(clients.get(temp).getOutputStream()));
write.write("用戶"+tmp+":"+match.group(2)+"\n");
write.flush();
}
else
{
for(int i = 1;i<=num;i++)
{
if(i == tmp)
{
continue;
}
BufferedWriter write = new BufferedWriter(new OutputStreamWriter(clients.get(i).getOutputStream()));
write.write("用戶"+tmp+":"+value + "\n");
write.flush();
}
}
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
catch(IOException e1)
{
// TODO Auto-generated catch block
e1.printStackTrace();
}
}
public void send()
{
Scanner scan = new Scanner(System.in);
String tmp = "";
while(!tmp.equals("exit"))
{
tmp = scan.nextLine();
try
{
for(int i = 1;i<=num;i++)
{
BufferedWriter write = new BufferedWriter(new OutputStreamWriter(clients.get(i).getOutputStream()));
write.write("系統:"+tmp + "\n");
write.flush();
}
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
new Server();
}
}
客戶端:
import java.io.*;
import java.net.*;
import java.util.Scanner;
public class Client
{
/**
* @param args
*/
BufferedReader read;
BufferedWriter write;
public Client()
{
try
{
Socket client = new Socket("192.168.1.7",33333);
read = new BufferedReader(new InputStreamReader(client.getInputStream()));
write = new BufferedWriter(new OutputStreamWriter(client.getOutputStream()));
new Thread()
{
public void run()
{
recieve();
}
}.start();
new Thread()
{
public void run()
{
send();
}
}.start();
//send();
}
catch(UnknownHostException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public void send()
{
Scanner scan = new Scanner(System.in);
String tmp = "";
while(!tmp.equals("exit"))
{
tmp = scan.nextLine();
try
{
tmp= tmp+"\n";
write.write(tmp);
write.flush();
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
void recieve()
{
while(true)
{
try
{
String value = "";
value = read.readLine();
System.out.println(value);
write.flush();
}
catch(IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
public static void main(String[] args)
{
// TODO Auto-generated method stub
new Client();
}
}
Ⅶ jsp聊天室實現發送表情功能
<input type="radio" value="1"><img src="表情名" />
然後獲取表情的值,也就是1,發送的時候只發送1就行了,在另一端還原回來就可以了,同樣也可以存入資料庫
Ⅷ 求java聊天室源代碼:實現一主機做服務端,實現單人聊天+多人聊天+表情發送。。。。功能
網上有很多的
線程我不太懂 寫一個客戶端 一個伺服器 兩個就可以對話了 寫一個文件流就可以傳文件了
Ⅸ java如何實現聊天室圖片傳輸功能以及視屏聊天
剛學,我不建議你去做。因為這些涉及很多方法知識,容易把你給學亂了。而且你們老師的目的應該是想讓你們鍛煉下socket 或者是swing方面的知識。如果你想做,視頻和音頻你可以參考jmf這個工具。但是java這個工具已經很久沒有過更新,可能是市場不是很好。而且他現在有些弊端,現在的攝像頭usb的不需要驅動,它就不能讀出來。圖片那個應該用簡單的io流就可以實現。