急!!!c# socket的客户端 从c++写的服务端接受数据,怎么写? 全分想赠!

laodao1 2009-01-02 02:19:50
条件如下:
1、客户端(c# socket)想从服务器端(c++)获得数据。
2、这些数据的字节格式是自己定义好的,也就是自定义的通信协议。

怎么写??谢谢了

全分赠!!!
...全文
263 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
CGabriel 2009-05-19
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 laodao1 的回复:]
我接受到这些二进制流之后,怎么还原他们啊?弄点程序吧,谢谢了!
[/Quote]

假设接受到的是 byte[] buff, Socket.Receive 返回的都是字节数组

MemoryStream stream = new MemoryStream(buff);
BinaryReader reader = new BinaryReader(stream);

然后就可以用这个 reader 按照格式读取了,例如

reader.ReadInt32();
reader.ReadInt16();
李牧1987 2009-05-19
  • 打赏
  • 举报
回复
有没有人写一段自定义的通信协议的例子啊 小弟也在求此类代码??是不是必须使用异步套接字啊???
laodao1 2009-01-02
  • 打赏
  • 举报
回复
我接受到这些二进制流之后,怎么还原他们啊?弄点程序吧,谢谢了!
laodao1 2009-01-02
  • 打赏
  • 举报
回复
但是它的通信协议是自定义的,这样我在客户端如何接受它的包,用c#怎么写?
最好,来点程序,谢谢了,马上给分!
bingdian37 2009-01-02
  • 打赏
  • 举报
回复
socket本就如此

望楼主找本书籍扎实的学一下
wangzhe1945 2009-01-02
  • 打赏
  • 举报
回复
包跟语言没关系,最终都要转换成 byte[] 二进制流。

看下包的结构,然后用c# 定义包的数据结构:

1、数值型直接用对应的就可。(DWORD -> int , WORD -> Int16)
2、字符串指针类型 -> .net中string
3、句柄 (dWord) -> .net中IntPtr
laodao1 2009-01-02
  • 打赏
  • 举报
回复
能写点程序,就太感谢了,马上给分!
laodao1 2009-01-02
  • 打赏
  • 举报
回复
但是,它用的是自己定义的通信协议,传送的报头和报体都是规定好的,那么我c#写的客户端应该怎么写来定义这样的字节.从而达到能接受数据的目的.
heyu1000 2009-01-02
  • 打赏
  • 举报
回复
这个跟语言没有关系啊,就当服务器端是C#写的就可以了

111,131

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧