写一个java程序 , 类似QQ聊天,但功能简单得多 , 要求己方为服务器端,提供端口让好友来连接,连接上本来就要先开服务器啊java类似qq的源代码;
首先,开启服务器java类似qq的源代码;
客户端连接服务器,一连上服务器,说明客户上线上;
通过客户端查看好友是否上线,如果上线,可以直接进行聊天,如果没上线,也可以给好友留言;
两个客户端进行聊天java类似qq的源代码的原理java类似qq的源代码:客户(A与B):A要发消息给B,首先,要把A的账号(发送者),A要发送的内容和B的账号(接收者) , 发送时间打包通过线程发给服务器;
服务器进行解包,查看B的账号是否上线,如果上线,再把这个包发给B,B进行解包,显示在界面上;B要发给A也是同理 。。
java类似qq的源代码你说的两个客户端直接聊天,其实相当于服务器与客户端的聊天而已,这样的聊天程序是不完整的 。
希望能帮到你 。
关于仿QQ聊天对话框的JAVA代码1、swing的界面可以直接用netbeans画出来嘛 。
2、可以把输出的聊天内容都放在一个StringBuffer里,每打出一句话,就把这句话追加在StringBuffer,然后把StringBuffer里的内容输出到Textarea中 。
3、好友列表可以用JList
求一个用java编写的套接字实现类似于QQ对话的程序,急用有两个类java类似qq的源代码,服务器和客户端、
服务器类代码:
package chat;
import java.io.*;
import java.net.*;
import java.util.*;
/*服务器类*/
public class Server {
public ListSocket socketList = new ArrayListSocket();//存放所有连接java类似qq的源代码的客户端的集合
public ServerSocket server;//服务器
public int portNum;//端口号
public Server(int portNum){
this.portNum = portNum;
}
public void innit(){
try {
server = new ServerSocket(portNum);
System.out.println("服务器开启成功java类似qq的源代码!");
int socketNum = 0;
while(true){
Socket socket = server.accept();//被动等待客户端的连接
socketNum++;
System.out.println("第"+socketNum+"个客户端连接成功java类似qq的源代码?。?);
socketList.add(socket);//连接的客户端存放到集合里面
new RWThread(socket).start();
}
} catch (IOException e) {
e.printStackTrace();
}
}
class RWThread extends Thread{//接收和发送消息的线程
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);//接收客户端发来的消息
for(int i=0;isocketList.size();i++){//发送给所有连接的客户端
PrintWriter pw = new PrintWriter(new OutputStreamWriter(socketList.get(i).getOutputStream()));
pw.println(message);
pw.flush();
}
}
} catch (IOException e) {
【java类似qq的源代码 java模仿】e.printStackTrace();
}
}
}
public static void main(String[] args) {
int portNum = 8888;//创建服务器的端口号
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);//创建客户端
new ReadThread(socket).start();//开启读取从服务器端发来的信息
推荐阅读
- 人物营销如何做的更好,人物营销的实例并评价其营销效果
- sap怎么管理可回收包材,sap库存物资报废出库
- 个人名义开发小程序,个人开发小程序上线需要什么
- 步步高照片怎么保存到u盘,步步高相册里的图片怎么编辑
- 关于vb.net显示说明的信息
- 视频号无人直播收益怎么算钱的,视频号可以无人直播?
- redis显示库和选择库,redis默认几个库
- 即时战略游戏侵略侵略行为,即时战略游戏和策略游戏
- 包含vb.net关联事件的词条