如何获取c#连接成功后socket, 把socket如何值 传给C语言?

w20011025 2015-01-06 08:19:58
TcpClient tcpClient = new TcpClient();
tcpClient.Connect("192.168.1.89", 8603);
/Socket socket = tcpClient.Client;

NetworkStream ns = tcpClient.GetStream();
NetworkStream nsRev = tcpClient.GetStream();
byte[] sendBytes = new Byte[7];
ArrayList gbRecvBuff = new ArrayList();

if (ns.CanWrite)
{
ns.Write(sendBytes, 0, sendBytes.Length)
}
...全文
136 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
生财 2015-01-07
  • 打赏
  • 举报
回复
public static extern int RecvDataEx(int SocketClient, float[] pfData, int n); 这个方法 C# 里可能不好调用, int socket client 这个值应该是一个名柄值,,, .net 里的socket 对像无法直接传输的
生财 2015-01-07
  • 打赏
  • 举报
回复
tcpClient.Client.Send(new byte[10]); 发一包数据看看
w20011025 2015-01-06
  • 打赏
  • 举报
回复
socket在C#是对象存在的? 如何获取呢?
willhuo 2015-01-06
  • 打赏
  • 举报
回复
[DllImport("F:\\DTS.dll")] public static extern int RecvDataEx(int SocketClient, float[] pfData, int n); socket在C#是对象存在的,你提供的DLL要求提供socket,需要把当前SOCKET的指针传递进去 至于你怎么获取到这个指针,自己想办法,C#中用inptr存储指针类型的数据
w20011025 2015-01-06
  • 打赏
  • 举报
回复
[b]别人提供C dll函数. 我现在用C#写的如何调用接收后的数据?[/b]谢谢
於黾 2015-01-06
  • 打赏
  • 举报
回复
不要异想天开,新手就老喜欢拍脑袋想方案 你应该先解析出数据,把数据传给dll的方法去处理 而不是把socket对象整个传入 不仅dll不应该这样用,你都用c#,自己封装类和函数,也不应该传入类似socket对象这种东西
w20011025 2015-01-06
  • 打赏
  • 举报
回复
//C sharp调用c dll函数 [DllImport("F:\\DTS.dll")] public static extern int RecvDataEx(int SocketClient, float[] pfData, int n); C#连接成功后把socket传输给C函数函数接收数据?谢谢

110,561

社区成员

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

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

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