当前位置:首页 » 操作系统 » qqjava源码

qqjava源码

发布时间: 2022-07-29 06:28:47

Ⅰ 求一个类似QQ或者其他的聊天程序源代码,java

简单得很的那种要不要?就像用来应对考试一样。

import java.io.*;
import java.net.*;
import java.util.*;
public class ChatServer {
boolean started = false;
ServerSocket ss = null;
List<Client> clients = new ArrayList<Client>();
public static void main(String[] args) {
new ChatServer().start();
}
public void start() {
try {
ss = new ServerSocket(8888);
started = true;
} catch (BindException e) {
System.out.println("端口使用中....");
System.out.println("请关掉相关程序并重新运行服务器!");
System.exit(0);
} catch (IOException e) {
e.printStackTrace();
}
try {
while(started) {
Socket s = ss.accept();
Client c = new Client(s);
System.out.println("a client connected!");
new Thread(c).start();
clients.add(c);
}
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
ss.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}

class Client implements Runnable {
private Socket s;
private DataInputStream dis = null;
private DataOutputStream dos = null;
private boolean bConnected = false;

public Client(Socket s) {
this.s = s;
try {
dis = new DataInputStream(s.getInputStream());
dos = new DataOutputStream(s.getOutputStream());
bConnected = true;
} catch (IOException e) {
e.printStackTrace();
}
}

public void send(String str) {
try {
dos.writeUTF(str);
} catch (IOException e) {
e.printStackTrace();
}
}

public void run() {
try {
while(bConnected) {
String str = dis.readUTF();
System.out.println(str);
for(int i=0; i<clients.size(); i++) {
Client c = clients.get(i);
c.send(str);
}
}
} catch (EOFException e) {
System.out.println("Client closed!");
} catch (IOException e) {
e.printStackTrace();
} finally {
try {
if(dis != null) dis.close();
if(dos != null) dos.close();
if(s != null) {
s.close();
//s = null;
}
} catch (IOException e1) {
e1.printStackTrace();
}
}
}

}
}
客户端,开两个就能聊了……
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;

public class ChatClient extends Frame {
Socket s = null;
DataOutputStream dos = null;
DataInputStream dis = null;
private boolean bConnected = false;
TextField tfTxt = new TextField();
TextArea taContent = new TextArea();
Thread tRecv = new Thread(new RecvThread());
public static void main(String[] args) {
new ChatClient().launchFrame();
}

public void launchFrame() {
setLocation(400, 300);
this.setSize(300, 300);
add(tfTxt, BorderLayout.SOUTH);
add(taContent, BorderLayout.NORTH);
pack();
this.addWindowListener(new WindowAdapter() {

@Override
public void windowClosing(WindowEvent arg0) {
disconnect();
System.exit(0);
}

});
tfTxt.addActionListener(new TFListener());
setVisible(true);
connect();

tRecv.start();
}

public void connect() {
try {
s = new Socket("127.0.0.1", 8888);
dos = new DataOutputStream(s.getOutputStream());
dis = new DataInputStream(s.getInputStream());
System.out.println("connected!");
bConnected = true;
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

}

public void disconnect() {
try {
dos.close();
dis.close();
s.close();
} catch (IOException e) {
e.printStackTrace();
}

}

private class TFListener implements ActionListener {

public void actionPerformed(ActionEvent e) {
String str = tfTxt.getText().trim();
tfTxt.setText("");

try {
dos.writeUTF(str);
dos.flush();
} catch (IOException e1) {
e1.printStackTrace();
}

}

}

private class RecvThread implements Runnable {

public void run() {
try {
while(bConnected) {
String str = dis.readUTF();

taContent.setText(taContent.getText() + str + '\n');
}
} catch (SocketException e) {
System.out.println("bye!");
} catch (IOException e) {
e.printStackTrace();
}

}

}
}

Ⅱ 用java可以做qq登录界面,那个源代码怎么写

源码:http://wenku..com/view/4b03494ccf84b9d528ea7a26.html

Ⅲ QQ聊天界面的java代码

请问你的邮箱地址是多少?我有源代码,可以发给你!

Ⅳ 我在服务器搭建了一个JAVA服务器,如何才可以访问服务器端,我的QQ源码如何用

服务端在服务器上跑起来。数据库该 架的架起来。
保证端口对外开放,就行了。

Ⅳ 仿qq聊天的java完整代码

帮你做一个

Ⅵ 谁能给我一个用java写的山寨QQ的源代码

这个东西做起来并没有什么难度,关键点是通信那一块。
建议消息用服务器转发的方式。每个登陆用户与服务器采用短连接通信。
其他没什么重要的了,你自己努力一下,2天大概就能做的很像样了。如果做的过程中有问题,可以问我。

如果你想做到T讯那样,就不现实了,倒不是说功能多,只因为他的通信方式要复杂很多。比如说跨局域网的UDP通信,那是很复杂的。你还要理解网络,理解路由器,才可以哦。

Ⅶ 求JAVA webQQ在线聊天源码

客户端源代码
import java.net.Socket;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class socketClient
{
private DataOutputStream output;
private DataInputStream input;
private String clientName;

public static void main(String[] args)
{
//在main函数中,启动服务器的socket
new socketClient().ConnectServer();
}

public void ConnectServer()
{
try
{
Socket socket = new Socket("127.0.0.1",10001);
clientName = socket.getInetAddress().toString();
input = new DataInputStream(socket.getInputStream());
output = new DataOutputStream(socket.getOutputStream());

new readServer().start();
new writeServer().start();
}
catch(Exception e) {System.out.println(e.toString());}
}

public class readServer extends Thread
{
private Socket client;

public void run()
{
String msg;
try
{
while(true)
{
msg = input.readUTF();
if(msg!=null)
System.out.println("收到消息:【"+clientName+"】 "+msg);
}
}
catch(Exception e) {System.out.println(e.toString());}
}
}

public class writeServer extends Thread
{
private Socket client;
public void run()
{
try
{
BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
while(true)
{
if(stdIn.ready())
{
userInput = stdIn.readLine();
if(userInput!="exit")
{
output.writeUTF(userInput);
System.out.println("已发送消息给【"+clientName+"】"+userInput);
}
}
}
}
catch(Exception e) {System.out.println(e.toString());}
}
}

}

服务器源代码

import java.net.ServerSocket;
import java.net.Socket;
import java.util.ArrayList;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.BufferedReader;
import java.io.InputStreamReader;

public class socketServer
{
ArrayList clientList = new ArrayList();
//private DataOutputStream output;
//private DataInputStream input;
//private String clientName;
//private Socket socket;

public static void main(String[] args)
{
//在main函数中,启动服务器的socket
new socketServer().OpenServer();

}

public void OpenServer()
{
try
{
ServerSocket server = new ServerSocket(10001);

Socket socket;
while((socket = server.accept())!=null)
{
clientList.add(socket);
//clientName = socket.getInetAddress().toString();
//output = new DataOutputStream(socket.getOutputStream());
//input = new DataInputStream(socket.getInputStream());
new readClient(socket).start();
new writeClient(socket).start();
}
}
catch(Exception e) {System.out.println(e.toString());}
}

public class readClient extends Thread
{
private Socket socket;

public readClient(Socket client)
{socket = client;}

public void run()
{
String msg;
try
{
String clientName = socket.getInetAddress().toString();
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
DataInputStream input = new DataInputStream(socket.getInputStream());
while((msg = input.readUTF())!=null)
{
System.out.println("收到消息:【"+clientName+"】 "+msg);
}
}
catch(Exception e){System.out.println(e.toString());}
}
}

public class writeClient extends Thread
{
private Socket socket;

public writeClient(Socket client)
{socket = client;}

public void run()
{
try{

BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in));
String userInput;
String clientName = socket.getInetAddress().toString();
DataOutputStream output = new DataOutputStream(socket.getOutputStream());
DataInputStream input = new DataInputStream(socket.getInputStream());
while(true)
{
if(stdIn.ready())
{
userInput = stdIn.readLine();
if(userInput!="exit")
{
output.writeUTF(userInput);
System.out.println("已发送消息给【"+clientName+"】"+userInput);
}
}
}
}
catch(Exception e) {System.out.println(e.toString());}
}
}

}

Ⅷ 求一个用java编的qq聊天工具要完整代码!能运行出来的!带数据库的

一般都是有偿给人做的,你这样谁给你啊

Ⅸ 关于仿QQ聊天对话框的JAVA代码

JAVA做QQ的源码的到是有的。。。不过有8000多行。。。基本功能全齐了

如果LZ连Swing都不会用的话,感觉还是找点简单的项目先练习练习,这QQ要牵扯到网络链接。。。我也在研究中呵呵

Swing很简单,拖拖拽拽就可以了,设置显示对话框的属性为只读,然后用FileInputStream来读取
下面的输入框用FileOutputStream来输入点击发送按钮后重新导入上面的对话框。。。这是最简单的QQ囧。。。。

Ⅹ 你好,java实现模拟qq登录,然后发送消息的代码(根据拦截数据包中信息)

我知道用java去做一个多人聊天室,首先是要有服务器端,客户端是用GUI做的界面每个用户都是一个线程,当多人进行聊天的时候,都是先把数据传给服务器,然后服务器在给每个人都发到自己的界面上,大概的思路就是这样的

你要我这个代码么 ,我可以发给你

热点内容
netcore编译前执行代码 发布:2025-03-16 03:05:17 浏览:475
饥荒联机版服务器搭建程序 发布:2025-03-16 02:55:18 浏览:684
win7如何访问共享 发布:2025-03-16 02:55:14 浏览:37
centosphp升级 发布:2025-03-16 02:42:04 浏览:52
绝地求生体验服为什么服务器已满了 发布:2025-03-16 02:42:03 浏览:706
服务器电脑机房是干嘛的 发布:2025-03-16 02:30:47 浏览:489
龙贝格算法c语言 发布:2025-03-16 02:26:28 浏览:102
c语言字符串读入 发布:2025-03-16 02:21:23 浏览:478
python爬虫开发环境 发布:2025-03-16 02:19:55 浏览:627
androidondestory 发布:2025-03-16 02:12:49 浏览:863