cuốn sách gpt4 ai đã làm

NetworkStream write() với tên sự kiện

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-03 23:26:13 25 4
mua khóa gpt4 Nike

Tôi có một máy chủ TCP đơn giản được viết bằng C# có chức năng gửi và nhận dữ liệu theo các khoảng thời gian được chỉ định và tôi có một ứng dụng NodeJS.

Tôi hiện đang chuyển từ NetworkStream Gửi dữ liệu như sau:

NetworkStream riêng tư nwStream;
nwStream = clientMachine.GetStream();

nwStream.Write(buffer, 0, buffer.Length); // Bên trong một vòng lặp

và nhận nó trong NodeJS như thế này:

client.on('data', (data) => {

Ngoại trừ máy chủ C# TCP của tôi data Có cách nào khác để phát ra các sự kiện khác nhau không? Sử dụng Socket.io tôi có thể socket.emit('customEvent', someData) Và thích socket.on('customEvent', returnData) Tương tự như việc nhận nó, nhưng tôi không chắc liệu mình có thể đạt được điều này với C# hay không.

Tôi không sử dụng Socket.io, ở trên chỉ là ví dụ về hành vi tôi muốn đạt được.

câu trả lời hay nhất

Nếu bạn sử dụng ổ cắm thô ở cả hai đầu, bạn chỉ có thể thiết kế giao thức của riêng mình để nhúng tên vào từng khung logic... Bản thân ổ cắm TCP không có bất kỳ cơ chế nào như vậy, cũng như các gói thô.

Một cách điển hình/dễ dàng để làm điều này có thể giống như sau:

{Tên sự kiện, UTF8}\r\n{độ dài, số nguyên endian nhỏ 4 byte}{tải trọng, byte độ dài}

Nếu tên sự kiện của bạn có thể chứa dòng mới/dòng mới thì bạn cũng sẽ cần sử dụng phương thức độ dài tải trọng/tải trọng cho tên sự kiện.

Về c# - NetworkStream write() với tên sự kiện, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/43933770/

25 4 0
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress