[Chat demo ] sử dụng TCP

Discussion in 'Bài viết hướng dẫn JEE' started by duyson91, 10/8/12.

  1. duyson91 Member

    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).
    [IMG]

    Attached Files:

  2. Nancru CongDongJava Project Leader

    Dạo này nhìu phần mềm chat quá nhỉ
  3. duyson91 Member

    ừ. thì làm cái phần mềm chat vừa thực hành socket + luôn swing mà :D.
  4. saint Member

    hay hay, để towsw test xem sao
  5. duyson91 Member

    ờ........................................
  6. phamvanhong New Member

    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
  7. SITUVN Active Member

    Cái khoản kết nối mạng, Socket, TCP... này sao mình tệ thế nhỉ :-s
  8. phamvanhong New Member

    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
  9. Dinh Duy Trong New Member

    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();

    }

    }
  10. kojca New Member

    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 :-\
  11. vtcNew Active Member

    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
  12. JackV Administrator

    Bạn cần phải update phiên bản JRE.
  13. duyson91 Member

    ừ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.

Chia sẻ trang này



Ve may bay di Ha Noi | Ve may bay di Vinh | Ve may bay di Hue | Ve may bay di Da Nang | Ve may bay di Nha Trang | Ve may bay di Da Lat | Ve may bay di Phu Quoc | Ve may bay di Sai Gon | Ve may bay di TPHCM | Ve may bay di Buon Me Thuot | Ve may bay di Hai Phong | Ve may bay di Dong Hoi | Ve may bay Vietjet Air | Phong ve may bay Vietjet Air | Ve may bay Vietnam Airlines | Phong ve may bay Vietnam Airlines | Ve may bay Vietnam Airlines | Ve may bay gia re | Ve may bay | Mua ve may bay | Jetstar | Vietnam Airlines | Air Asia | Tiger Airways | Ve may bay di My | Vietjet Air | Ve may bay di Ha Noi | Ve may bay di Da Nang | Ve may bay di Hai Phong | Ve may bay di Vinh