Từ 1 tới 7 trên tổng số 7 kết quả

Đề tài: Cách bắt sự kiện rớt mạng của client trong C#?

  1. #1
    Ngày gia nhập
    05 2010
    Bài viết
    345

    Mặc định Cách bắt sự kiện rớt mạng của client trong C#?

    Hiện h em đang làm 1 cái ứng dụng nhỏ liên quan đến server và client.
    Vấn đề của em là khi có nhiều client kết nối tới và các client bị ngắt kết nối thì làm thế nào để nhận biết dc là client bị ngắt kết nối ngoải việc bắt câu lệnh try catch trong lệnh đọc dữ liệu từ client (sr.ReadLine().
    Ah tiện đây cho em hỏi, mỗi khi client ngắt kết nối server bắt sự client out và sẽ thực hiện 1 công việc là update dữ liệu vào sql. Vấn đề của em là nếu có nhiều client kết nối cùng 1 lúc thì câu lệnh sql nó ko chạy dc hết hay sao ý, vì em thấy dữ liệu nó không cập nhật hết vào.
    Có bác nào có giải pháp nào không giúp em với

  2. #2
    Ngày gia nhập
    03 2009
    Bài viết
    267

    Visual C# Code:
    1.     bool SocketConnected(Socket s)
    2.     {
    3.         bool part1 = s.Poll(1000, SelectMode.SelectRead);
    4.         bool part2 = (s.Available == 0);
    5.         if (part1 & part2)
    6.             return false;
    7.         else
    8.             return true;
    9.     }

    Cậu tham khảo thử

  3. #3
    Ngày gia nhập
    09 2010
    Nơi ở
    Hà nội
    Bài viết
    210

    theo mình là create 1 table trên server , client làm gì thì insert hết vào đó , khi nào client out thì execute đồng thời xóa query đó đi , hết
    Quá yêu em khiến em xem
    Đó như là sơ hở
    Em điểu khiển và biến tôi thành 1 thằng khở

  4. #4
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    ^ làm như vậy thì sinh ra thêm 1 bước thừa mà phức tạp nữa.
    Nếu mình nhớ ko làm thì trong Socket có method để check cái trạng thái connect mà, bạn tìm thử xem rùi dùng timer chạy để check

  5. #5
    Ngày gia nhập
    03 2009
    Bài viết
    267

    Trích dẫn Nguyên bản được gửi bởi prt_awm Xem bài viết
    theo mình là create 1 table trên server , client làm gì thì insert hết vào đó , khi nào client out thì execute đồng thời xóa query đó đi , hết
    ) nếu bị tắt bất ngờ thì sao bạn? lấy gì mà execute?

    Trích dẫn Nguyên bản được gửi bởi kenturo Xem bài viết
    ^ làm như vậy thì sinh ra thêm 1 bước thừa mà phức tạp nữa.
    Nếu mình nhớ ko làm thì trong Socket có method để check cái trạng thái connect mà, bạn tìm thử xem rùi dùng timer chạy để check
    Người ta đã không biết thì mới hỏi, bác trả lời thế này thì ng vẫn lại ko biết. nếu bác nói có method thì viết ra cho mọi người cùng biết chứ.

  6. #6
    Ngày gia nhập
    10 2007
    Nơi ở
    /root
    Bài viết
    318

    Mặc định Cách bắt sự kiện rớt mạng của client trong C#?

    Thường thì các client cứ sau một khoảng thời gian lại gửi cho server 1 gói tin để giữ kết nối, nếu sau khoảng thời gian này mà không có gói tin gửi tới thì server sẽ biết là client đã mất kết nối.
    What you see is never what you get...

  7. #7
    Ngày gia nhập
    10 2010
    Nơi ở
    Biên Hòa
    Bài viết
    562

    Người ta đã không biết thì mới hỏi, bác trả lời thế này thì ng vẫn lại ko biết. nếu bác nói có method thì viết ra cho mọi người cùng biết chứ.
    tại vì lâu rùi tui ko "chơi" với .NET nên ko nhớ :|, nhưng lúc trc có làm tới nó

Các đề tài tương tự

  1. Trả lời: 6
    Bài viết cuối: 28-06-2014, 12:02 PM
  2. Làm sao trong chat lan client có thể nhận đúng font chữ client gửi?
    Gửi bởi kienchochethahaha trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 5
    Bài viết cuối: 26-12-2012, 08:19 PM
  3. Socket Không thể xóa Client ngắt kết nối với Server trong danh sách Client đang kết nối
    Gửi bởi thanhtanh trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 1
    Bài viết cuối: 20-10-2012, 04:37 PM
  4. Có cần cài SQlServer trên máy Client, trong ứng dụng Server Client
    Gửi bởi billsang trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 4
    Bài viết cuối: 28-10-2011, 01:09 PM
  5. Xử lý 1 server kết nối với n client trong VC++?
    Gửi bởi tinhbuon trong diễn đàn Thắc mắc lập trình Visual C++
    Trả lời: 1
    Bài viết cuối: 25-11-2010, 10:07 PM

Quyền hạn của bạn

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