[Chat demo ] sử dụng TCP

duyson91

Member
3/6/12
32
2
8
29
chào mọi người !. Phần mềm chat demo của mình cở bản giải quyết được vấn đề của 1 chương trình chat
+ 1sever nhiều client
+ đọc tin nhắn từ cơ sở dữ liệu
+ Thread để đọc tin từ sever độc lập với gửi tin
bước 1 : tạo csdl tên chatdemo và import chatdemo.sql vào đó
bước 2: mở project bằng netbean chạy sever-> client( mở 2-3 client) và đăng nhập bằng nick + pass có trong CSDL ( 1 số mình đã tạo là nick: admin , nick2,nick3,nick4 pass đều là admin).
 

Attachments

  • Like
Reactions: vantradk

Nancru

CongDongJava Project Leader
Staff member
9/10/11
1,642
309
83
Dạo này nhìu phần mềm chat quá nhỉ
 

duyson91

Member
3/6/12
32
2
8
29
ừ. thì làm cái phần mềm chat vừa thực hành socket + luôn swing mà :D.
 

phamvanhong

New Member
31/8/12
12
0
1
30
hjx.Mình mới học sd netbeans. Sao mình mở bị lỗi ko được vậy mấy bạn. Bình thường mình tải 1 project trên mạng về chẳng lúc nào mình mở được.Có ai chỉ giúp mình cấn chú ý j ko...Thanks
 

SITUVN

Well-Known Member
25/2/12
965
262
63
Cái khoản kết nối mạng, Socket, TCP... này sao mình tệ thế nhỉ :-s
 

phamvanhong

New Member
31/8/12
12
0
1
30
Bi lỗi vậy là sao mọi người:
java.lang.UnsupportedClassVersionError: Main : Unsupported major.minor version 51.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
Exception in thread "main" Java Result: 1
BUILD SUCCESSFUL (total time: 0 seconds)
Mong giúp ,mình chẳng bik chạy 1 chương trình lớn nào bằng netbeans cả...hjx
 

Dinh Duy Trong

New Member
3/7/12
4
0
1
28
mình tìm được ví dụ về UDP server/client trên mạng, nhưng khi chạy thử nhập dữ liệu vào client thì server không nhận dược gì cả
UDP Server
import java.awt.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;

class UDPServer extends Frame implements ActionListener {

TextArea ta1 = new TextArea();
Button b1 = new Button("Start");
Button b2 = new Button("Stop");
Thread thread;
DatagramSocket socket;

public class StartThread implements Runnable {
StartThread() {
thread = new Thread(this);
thread.start();
b1.setEnabled(false);
b2.setEnabled(true);
}

public void run() {
try {
byte[] buffer = new byte[1024];
int port = 8080;

try {
socket = new DatagramSocket(port);
while (true) {
try {
ta1.append("Server is started\n");
// Receive request from client
DatagramPacket packet = new DatagramPacket(buffer,
buffer.length);
socket.receive(packet);
InetAddress client = packet.getAddress();
int client_port = packet.getPort();
ta1.append(" Received " + new String(buffer)
+ " from " + client);

} catch (UnknownHostException ue) {
}
}
} catch (java.net.BindException b) {
}
} catch (IOException e) {
System.err.println(e);
}
}
}

public UDPServer(String title) {
super(title);
setLayout(new FlowLayout());
add(ta1);
add(b1);
add(b2);
b1.addActionListener(this);
b2.addActionListener(this);
}

public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == b1) {
new StartThread();

} else if (ae.getSource() == b2) {
thread.interrupted();
socket.close();
ta1.append("Server is stopped\n");
b1.setEnabled(true);
b2.setEnabled(false);
}
}

public static void main(String args[]) {
UDPServer f = new UDPServer("I am a UDP Server!");

f.setSize(600, 600);
f.setVisible(true);

f.addWindowListener(new WindowAdapter() {
public void windowClosing(WindowEvent we) {
System.exit(0);
}
});
}
}
UDP client
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UDPCilent {
public static void main(String []args) throws Exception{
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
DatagramSocket clientSocket = new DatagramSocket();
InetAddress IAdress = InetAddress.getByName("localhost");
byte[] sendData = new byte[1024];
byte[] receiveData = new byte[1024];
String sentence = inFromUser.readLine();
DatagramPacket sendPacket = new DatagramPacket(sendData, sendData.length,IAdress,8080);
clientSocket.send(sendPacket);
DatagramPacket receivePacket = new DatagramPacket(receiveData, receiveData.length,IAdress,8080);
clientSocket.receive(receivePacket);
clientSocket.close();

}

}
 

kojca

New Member
21/9/11
23
0
1
Mình chạy thử bài này, không thể add nick khác vào chat à bạn. chỉ chat với nick có trong list :-\
 

vtcNew

Active Member
8/10/11
252
60
28
cái này ko có chức năng đấy .
Các tài khoản có thể chat được nằm trong db
Còn muốn add nick chat khác thì chắc ông tạo thêm nút add nick rồi add cái nick mới đó vào csdl
 

duyson91

Member
3/6/12
32
2
8
29
Mình chạy thử bài này, không thể add nick khác vào chat à bạn. chỉ chat với nick có trong list :-\
ừa. mình để nick luôn ở db . nếu muốn add bạn tạo nút add xong gửi nick lên , kiểm tra ở sever là được.
 

duynp

New Member
15/3/15
4
0
1
26
mình mới học java mà rất muốn tham khảo code trên, nhưng ko thể tải về được, bạn có thể gửi qua mail: phanduy344@gmail.com
. Thanks!