01/10/2018, 09:51

Lập trình Socket: Gửi mảng từ client sang server

Em đang làm trên Winform, mọi người cho em hỏi:
Em muốn gởi 1 mảng kiểu int từ client qua server thì làm sao ạ,
Em đã thử cách chuyển nó sang string bằng cách FuntionName.Tostring() nhưng không thành công

Đẵng Nguyễn Quốc viết 11:53 ngày 01/10/2018

Trước hết, em nên tìm hiểu cách thức server nhận mảng đó như thế nào ?
Kế tiếp , em tìm hiểu xem với cách thức server mà em chọn, em phải làm gì để server hiểu đó là thứ em cần gửi.
Sau đó, em nên thử trước với một 1 ký tự, tiếp nữa là chuỗi, sau cùng là mảng.

lảng tử viết 11:58 ngày 01/10/2018

em thử với ký tự, chuỗi đều đã thành công, chi khi gởi với mảng kiểu int thì bên server nó nhận nhưng khi xuất ra bên server thì nó lại xuất ra những ký tự lạ

Mai Hữu viết 11:53 ngày 01/10/2018

Bạn conver đối tượng là mảng đó sang một mảng byte xong gửi nhé. Bên server thì ngược lại

Mai Hữu viết 11:52 ngày 01/10/2018
class ChuyenDoiDuLieu
    {
        public byte[] ChuyenDoiTuongSangMangByte(object duLieu)
        {
            MemoryStream ms = new MemoryStream();
            BinaryFormatter bf1 = new BinaryFormatter();
            bf1.Serialize(ms, duLieu);
            return ms.ToArray();     
        }

        public object ChuyenMangByteThanhDoiTuong(byte[] mangByte)
        {
            MemoryStream ms = new MemoryStream(mangByte);
            BinaryFormatter bf1 = new BinaryFormatter();
            ms.Position = 0;
            return bf1.Deserialize(ms);
        }
    }
Trần Hoàn viết 11:57 ngày 01/10/2018

Nếu bạn gửi được string thì convert mảng đó thành string, các số phân tách bởi dấu '|' chẳng hạn. Bên phía nhận thì dùng phương thức Split('|') để tách thành mảng.

Bài liên quan
0