真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

java模擬QQ完整代碼 Java模擬聊天

java模擬產(chǎn)生qq號(hào)碼

你在程序環(huán)節(jié)就判定是否存在數(shù)據(jù)庫(kù)中就行了,對(duì)于每個(gè)將存入數(shù)據(jù)庫(kù)的數(shù)據(jù)用一個(gè)Set存儲(chǔ),如果Set中出現(xiàn),重新調(diào)用random()。

你所需要的網(wǎng)站建設(shè)服務(wù),我們均能行業(yè)靠前的水平為你提供.標(biāo)準(zhǔn)是產(chǎn)品質(zhì)量的保證,主要從事做網(wǎng)站、網(wǎng)站制作企業(yè)網(wǎng)站建設(shè)、手機(jī)網(wǎng)站制作設(shè)計(jì)、網(wǎng)頁(yè)設(shè)計(jì)、品牌網(wǎng)站制作、網(wǎng)頁(yè)制作、做網(wǎng)站、建網(wǎng)站。成都創(chuàng)新互聯(lián)擁有實(shí)力堅(jiān)強(qiáng)的技術(shù)研發(fā)團(tuán)隊(duì)及素養(yǎng)的視覺(jué)設(shè)計(jì)專才。

另外,對(duì)于服務(wù)器重啟Set數(shù)據(jù)丟失的問(wèn)題,可以將Set中數(shù)據(jù)序列化到一個(gè)文本文件,重啟時(shí)再導(dǎo)入就行了。

這么做的好處是可以用多線程來(lái)控制判定環(huán)節(jié),不會(huì)造成瓶頸堵塞。

用JAVA怎么寫QQ

用java是可以寫出qq的,只不過(guò)用java開(kāi)發(fā)c/s的軟件不是java特長(zhǎng)的,你要是真的想寫,就寫著練練手吧,最起碼可以鞏固java se上的知識(shí)。

具體怎么寫,給你個(gè)大概的思路吧,因?yàn)槲覜](méi)辦法在這個(gè)有限的輸入框內(nèi)把所有的代碼寫完。

【1】先寫出qq的簡(jiǎn)單界面

【2】給每個(gè)按鈕添加監(jiān)聽(tīng)

【3】按鈕事件(方法)定義

【4】連接網(wǎng)絡(luò)(socket)

【5】測(cè)試

【5】其他功能添加

【6】測(cè)試

求一個(gè)用java編寫的套接字實(shí)現(xiàn)類似于QQ對(duì)話的程序,急用

有兩個(gè)類,服務(wù)器和客戶端、

服務(wù)器類代碼:

package chat;

import java.io.*;

import java.net.*;

import java.util.*;

/*服務(wù)器類*/

public class Server {

public ListSocket socketList = new ArrayListSocket();//存放所有連接的客戶端的集合

public ServerSocket server;//服務(wù)器

public int portNum;//端口號(hào)

public Server(int portNum){

this.portNum = portNum;

}

public void innit(){

try {

server = new ServerSocket(portNum);

System.out.println("服務(wù)器開(kāi)啟成功!");

int socketNum = 0;

while(true){

Socket socket = server.accept();//被動(dòng)等待客戶端的連接

socketNum++;

System.out.println("第"+socketNum+"個(gè)客戶端連接成功??!");

socketList.add(socket);//連接的客戶端存放到集合里面

new RWThread(socket).start();

}

} catch (IOException e) {

e.printStackTrace();

}

}

class RWThread extends Thread{//接收和發(fā)送消息的線程

public Socket socket;

public RWThread(Socket socket){

this.socket = socket;

}

public void run() {

super.run();

try {

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

while(true){

String message = br.readLine();

System.out.println(message);//接收客戶端發(fā)來(lái)的消息

for(int i=0;isocketList.size();i++){//發(fā)送給所有連接的客戶端

PrintWriter pw = new PrintWriter(new OutputStreamWriter(socketList.get(i).getOutputStream()));

pw.println(message);

pw.flush();

}

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

int portNum = 8888;//創(chuàng)建服務(wù)器的端口號(hào)

Server server = new Server(portNum);

server.innit();

}

}

客戶端類:

package chat;

import java.io.*;

import java.net.*;

import java.util.*;

/*客戶端類*/

public class Client {

public Socket socket;

public Client(){

Scanner sca = new Scanner(System.in);

try {

socket = new Socket("127.0.0.1",8888);//創(chuàng)建客戶端

new ReadThread(socket).start();//開(kāi)啟讀取從服務(wù)器端發(fā)來(lái)的信息

while(true){

PrintWriter pw = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()));

String message = sca.nextLine();

pw.println(message);//向服務(wù)器發(fā)送信息

pw.flush();

}

} catch (UnknownHostException e) {

e.printStackTrace();

} catch (IOException e) {

e.printStackTrace();

System.out.println("錯(cuò)誤:服務(wù)器未開(kāi)啟!??!");

}

}

class ReadThread extends Thread{//讀取服務(wù)器發(fā)來(lái)信息的線程

public Socket socket;

public ReadThread(Socket socket){

this.socket = socket;

}

public void run() {

super.run();

try {

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

while(true){

String message = br.readLine();

System.out.println(message);//輸出信息

}

} catch (IOException e) {

e.printStackTrace();

}

}

}

public static void main(String[] args) {

Client client = new Client();

}

}

現(xiàn)打開(kāi)服務(wù)器類,然后可以打開(kāi)多個(gè)客戶端進(jìn)行聊天


文章標(biāo)題:java模擬QQ完整代碼 Java模擬聊天
路徑分享:http://weahome.cn/article/hjposi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部