关于socket接收数据到动态数组

mandydou 2005-06-09 08:29:01
我有个问题,定义了一个byte[] test = new byte[1024]
然后用来接收socket数据,原型如下:
recv_data(socket, test, 1024, &terminal_id)

socket --socket id
test ---是byte[]数组
1024 ---长度
terminal_id---int参数
我想让test接收数据后,数组长度等于实际的接收数据长度,例如数据是“123456789”结果test的长度总是1024
...全文
141 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
amandar 2005-06-10
  • 打赏
  • 举报
回复
我是用 system.net.sockets 里的 socket 来实现的.
mandydou 2005-06-09
  • 打赏
  • 举报
回复
recv_data(socket, test, 1024, &terminal_id)
是[DllImport("MC8003.dll")]
public static extern int recv_data(int socket,char[] recv_buffer,int buf_len,ushort terminal_id);
无法直接调用回掉函数,这是mc8003的封装函数,可不可以用别的方法解决
amandar 2005-06-09
  • 打赏
  • 举报
回复
在回调函数里

int bytesRead = sk.EndReceive(ar);

就是你实际接收的长度了.

111,125

社区成员

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

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

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