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

Đề tài: truyền dataset từ 1 server đến nhiều client bằng c# socket winform???

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

    Mặc định truyền dataset từ 1 server đến nhiều client bằng c# socket winform???

    thầy e mới giao cho bài tập là làm sao để một server load vài câu hỏi từ database sql vào dataset rồi sau đó truyền đến các client bằng c# và socket.
    Đây là 1 dạng kết nối 1 server nhiều client, số client tối đa tạm thời chỉ là 4 mà thôi. Kịch bản là như thế này:
    1/ 4 client kết nối vào 1 server ( cái này chắc multi connection server quá!)
    2/ sau khi nhận đủ 4 client thì server load ngẫu nhiên vài câu hỏi từ database sql vào dataset
    3/ server gửi dataset đó tới các client.
    Vấn đề là e ko biết làm sao để gửi dataset tới 4 client này được.
    Bác nào biết thì giúp em với.

  2. #2
    Ngày gia nhập
    04 2009
    Nơi ở
    Hà Nội
    Bài viết
    733

    Ghi ra file có cấu trúc nào đó, rồi send file đó cho 4 client. Truyền file sử dụng socket. Gửi cho 4 client thì gửi broadcast.
    Hỏi một câu thì chỉ dốt trong chốc lát.Nhưng nếu không hỏi thì bạn sẽ dốt suốt đời.

  3. #3
    Ngày gia nhập
    02 2010
    Bài viết
    40

    ko dùng gửi boardcast được bạn àh. đề bài đã ghi rõ vậy rồi :((
    Đề gợi ý dùng multi connection sever nhưg cái đó mình còn mù hơn nữa.
    Gửi object qua socket thì sao hả bạn?

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

    Trích dẫn Nguyên bản được gửi bởi giadinhvnvn Xem bài viết
    ko dùng gửi boardcast được bạn àh. đề bài đã ghi rõ vậy rồi :((
    Đề gợi ý dùng multi connection sever nhưg cái đó mình còn mù hơn nữa.
    Gửi object qua socket thì sao hả bạn?
    Thử gửi xem có được không(có lẽ là không được). Không có thì chuyển nó sáng xml rồi gửi thôi.

  5. #5
    Ngày gia nhập
    12 2009
    Nơi ở
    sơn la
    Bài viết
    29

    bạn chủ theard làm được chưa? chỉ mình với. mình cũng đang có thắc mắc tương tự

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

    Mặc định truyền dataset từ 1 server đến nhiều client bằng c# socket winform???

    Trích dẫn Nguyên bản được gửi bởi giadinhvnvn Xem bài viết
    thầy e mới giao cho bài tập là làm sao để một server load vài câu hỏi từ database sql vào dataset rồi sau đó truyền đến các client bằng c# và socket.
    Đây là 1 dạng kết nối 1 server nhiều client, số client tối đa tạm thời chỉ là 4 mà thôi. Kịch bản là như thế này:
    1/ 4 client kết nối vào 1 server ( cái này chắc multi connection server quá!)
    2/ sau khi nhận đủ 4 client thì server load ngẫu nhiên vài câu hỏi từ database sql vào dataset
    3/ server gửi dataset đó tới các client.
    Vấn đề là e ko biết làm sao để gửi dataset tới 4 client này được.
    Bác nào biết thì giúp em với.
    Phần kĩ thuật client sever ko nhắc tới cõ lẽ bạn đã ok phần này rồi, còn phần gửi dataset thì mình nghĩ hướng thế này nhe.

    Cấu trúc dataset như 1 mảng table (Theo mình biết).

    VD Dataset mình như Sau:
    Dataset dataset tên là DS1 có 2 bảng Bang1 Bang2
    Bang1
    Col1_1 | Col1_2 | Col1_3 |
    _____________________ |
    Giá trị 1|Giá trị 2|Giá trị 3 |
    _____________________ |
    Giá trị 4|Giá trị 5|Giá trị 6 |
    ______________________|

    Bang2
    Col2_1 | Col2_2 |
    ______________|
    Giá trị 1|Giá trị 2|
    ______________|


    Vậy mình biết 1 gói tin như sau

    DS|Bang1;Col1_1%|%Col1_2%|%Col1_3;Giá trị 1%|% Giá trị 2 %|% Giá trị 3%|% Giá trị 4 %|% Giá trị 5%|% Giá trị 6 |Bang2;Col2_1%|%Col2_2; Giá trị 1 %|% Giá trị 2|

    Khi Client nhận đc:
    B1. Cắt gói tin theo dấu | tạo thành string[], thì giá trị đầu tiên trong mảng là tên DS, giá trị thứ 2 là nội dung table 1, giá trị thứ 2 là nội dung table 2

    .....
    Phần còn lại thì bạn làm tiếp.

    Mình đọc ở trên thấy có bạn nói chuyển thành XML thấy cũng ok đấy vì XML là text mà gửi text đi thì rất dễ dàng.

  7. #7
    Ngày gia nhập
    10 2006
    Nơi ở
    In Your Bugs
    Bài viết
    823

    1. Multi Connection Server có phải ý bạn là multi connection to a server ko ? Bạn nên dùng thuật ngữ chuyên ngành, đừng chế lung tung, sau này quen thì thảo luận với mọi người sẽ có trở ngại.

    2. Bạn cần xem lại socket, với bài toán 4 client thì khá dễ dàng. Bạn có thể thử với blocking, non blocking server.

    3. Mình ko làm với C#, nhưng về nguyên tắc khi bạn gởi/ nhận dữ liệu sẽ là các byte array, do đó bạn có thể định nghĩa header cho gói tin của bạn rồi tự encode & decode nó.

    Hoặc bạn có thể sử dụng các lib serialize có sẵn của .Net, hoặc viết 1 custom dataset và implement ISerializable rồi gởi xuống client.

    [Serializable]
    myDataset: Dataset, ISerializable{
    }

    Thâ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ập trình socket trong Java, 1 server kết nối nhiều client trong Java như thế nào?
    Gửi bởi detective009 trong diễn đàn Thắc mắc lập trình Java
    Trả lời: 12
    Bài viết cuối: 27-10-2013, 12:53 AM
  3. Làm thế nào để gửi 1object từ 1 server đến nhiều client sử dụng socket trong Java
    Gửi bởi manhtoan2211 trong diễn đàn Công cụ, ebooks Java
    Trả lời: 1
    Bài viết cuối: 10-05-2013, 04:53 PM
  4. Lập trình Socket truyền dữ liệu giữa Server và Client From bị tắt
    Gửi bởi gaconnho trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 8
    Bài viết cuối: 21-03-2012, 05:45 PM
  5. socket -> cách kết nối server và client
    Gửi bởi tranminh233 trong diễn đàn Thắc mắc lập trình C#
    Trả lời: 3
    Bài viết cuối: 23-05-2011, 02:30 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