Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • Chương trình khuyến mãi khi chuyển dịch vụ về 123HOST Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 5 trên 5
Tăng kích thước phông chữ Giảm kích thước phông chữ

Threaded View

  1. #1
    Cuni's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Sep 2009
    Thành viên thứ
    231
    Giới tính
    Bài gởi
    144
    Level: 35 [?]
    Experience: 774,755
    Next Level: 824,290
    Cảm ơn 3
    Cảm ơn 2 lần / 2 Bài viết

    Default Tạo ứng dụng chat đơn giản với Java  

    Làm chương trình phía Client
    Trong ứng dụng này, chúng ta se thao tác với .Net Sockets. Chúng ta có 3 lớp chính là: TcpClient, TcpListener và NetworkStream. Trong đó, ứng dụng Listener luôn chạy đầu tiên bằng cách sử dụng phương thức start(): TcpListener.start(). Chúng ta sẽ viết ứng dụng TcpClient đầu tiên.

    Đây là hàm có chức năng nhận tin nhắn:
    Code: 
    public void ThreadProcReceive()
    {
         for (;;)
         {
              received = new byte[1024];
              int readBytes = 0;
     
              try
              {
                     readBytes = tcp.GetStream().Read(received,0,received.Length); 
              } 
              catch (ObjectDisposedException)  { return; 
              }
              if (readBytes == 8)
              {
                    StringBuilder shutMessage = new StringBuilder(8);
                    for (int count = 0; count < 8; count++)
                   {
                          char ch = (char)received[count];
                          shutMessage = shutMessage.Append(ch);
                   }
                   string shut = "shutdown"; 
                   string receivedMessage = shutMessage.ToString();
                   if (receivedMessage.Equals(shut))
                   {
                           MessageBox.Show(this,"Shutdown Request has arrived from the \nconnected party.\nYou  cannot send message anymore.\nPlease close the window.","Shut down   Request",MessageBoxButtons.OK,MessageBoxIcon.Information);
    buttonSend.Enabled = false;
                            return;
                    }
            }
            StringBuilder str = new StringBuilder(1024);
            for (int count = 0; count < readBytes; count++)
            {
                    char ch = (char)received[count];
                    str = str.Append(ch);
                    str = str.Append(" ");
            }
            textBoxSendText.Text = str.ToString();
            if (formClosing == true)
            {
                    break;
            }
    }
    Đây là hàm xử lý sự kiện khi nhấn nút Connect:
    Code: 
    private void buttonConnect_Click(object sender, System.EventArgs e)
    {
            textBoxIPAddress.Enabled = false;
            IPAddress address = IPAddress.Parse(ipAddress);
    
            tcp = new TcpClient((new IPEndPoint(Dns.Resolve(Dns.GetHostName()).AddressList[0],4002)));
            LingerOption lingerOption = new LingerOption(false, 1);
            tcp.LingerState = lingerOption;
            tcp.Connect(new IPEndPoint(Dns.Resolve(ipAddress).AddressList[0],4001));
            buttonSend.Enabled = true;
            ((Button)sender).Enabled = false;
            receiveThread = new Thread(new ThreadStart(ThreadProcReceive));
            receiveThread.Name = "Client's Receive Thread";
            receiveThread.ApartmentState = ApartmentState.MTA;
            receiveThread.Start();
    }
    Đây là hàm xử lý sự kiện khi đóng Form1:
    Code: 
    private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e)
    {
            dataToSend = new byte[]{(byte)'s',(byte)'h',(byte)'u',(byte)'t',(byte)'d',(byte)'o',(byte)'w',(byte)'n'};
            tcp.GetStream().Write(dataToSend,0,dataToSend.Length);
            tcp.Close();
    }
    
    private void textBoxIPAddress_TextChanged(object sender, System.EventArgs e)
    {
            ipAddress = textBoxIPAddress.Text;
    }
    Đây là hàm xử lý sự kiện khi nhấn nút Send:
    Code: 
    private void buttonSend_Click(object sender, System.EventArgs e)
    {
            if (textBoxDataToSend.Text.Length != 0)
            {
                   char[] charArray = textBoxDataToSend.Text.ToCharArray(0,textBoxDataToSend.Text.Length);
                   dataToSend = new byte[textBoxDataToSend.Text.Length];
                   for (int charCount = 0; charCount < textBoxDataToSend.Text.Length; charCount++)
                   {
                           dataToSend[charCount] = (byte)charArray[charCount];
                   } 
            }
            else
            {
                    dataToSend = new byte[]{(byte)'e',(byte)'m',(byte)'p',(byte)'t',(byte)'y'};
            }
    
            tcp.GetStream().Write(dataToSend,0,dataToSend.Length);
            textBoxDataToSend.Text = ""; 
    }
    Download mã nguồn:
    http://www.mediafire.com/?dyymmmizmmm
    thay đổi nội dung bởi: Cuni; 10-09-2009 lúc 02:10 PM


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Trả lời: 1
    Bài mới gởi: 29-09-2014, 10:05 AM
  2. Trả lời: 0
    Bài mới gởi: 23-02-2014, 03:47 PM
  3. Chat Yahoo Online cùng Chat OLA trên dtdd
    By updated24h in forum Phần mềm
    Trả lời: 4
    Bài mới gởi: 14-03-2012, 10:42 PM
  4. Trả lời: 3
    Bài mới gởi: 10-08-2011, 09:56 AM
  5. Trả lời: 1
    Bài mới gởi: 29-08-2010, 11:36 AM

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •