问题描述
- SOCKET 通讯c#对应 c++ 中的类型
-
int_stdcall ConnectNetPort(SOCKET *lpSocket,//传入已分配套接字的指针SOCKADDR_IN *pPrinterAddr, //打印机的地址
timeval*lpTimeout); //超时这是c++封装的dll 方法 实现SOCKET服务的 这几个参数类型 对应C# 中的那几个类型 在c#中引用后 传参 怎么写
真心 不懂这个 跪求答案
解决方案
C#有自己的socket库,只要通讯本身的协议能对上就可以通讯了。
解决方案二:
C++与C#类型对应
C++与C#类型对应
C#与C++类型对应
解决方案三:
这几个类型对c#太复杂了,你最好再封装,这几个参数自己获取。
解决方案四:
搜索了一下,发现楼主是动手搜索了之后才来提问的;
.net的System.Net.Sockets命名空间中对Socket提供了完整的封装,建议还是不要在C++那上面纠结了。
以下是一个UDP通信的例子:
http://www.cnblogs.com/stg609/archive/2008/11/15/1333889.html
解决方案五:
下面是 C++的结构体 转换成 C# 怎么写 真心不懂 请附上值 把 IP 端口那些 都填上
/*Structure used in select() call,taken from the BSD file sys/tim.h.*/
struct timeval{
long tv_sec; /*seconde*/
long tv_usec; /*and microseconds*/
}
/*Socket address,internet style.*/
struct sockaddr_in{
short sin_family;
u_short sin_port;
char sin_zero[8];
}
/*The new type to be used in all. instances which refer to sockets*/
typedef UINT_PTR SOCKET;
真心不懂 请尽量详细点
int _stdcall ConnectNetPort(SOCKET *lpSocket,//传入已分配套接字的指针
SOCKADDR_IN * pPrinterAddr, //打印机的地址
timeval *lpTimeout); //超时
功能说明:
调用该函数将会连接打印机。成功返回1,失败返回值见下:
-1:创建套接字失败。
-2:设?为非阻塞模式失败。
-3:连接超时。
-4:Select错误
这个是一个网口热敏打印机的