Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何封装C/C++;类中的套接字发送和接收函数? 我使用标准的C/C++接口函数,但我想把它们封装到C++类中。问题在于,用于发送和接收的函数返回(或要求)指向void的指针。有没有办法使用封装这些值的对象_C++_Sockets_Oop - Fatal编程技术网

如何封装C/C++;类中的套接字发送和接收函数? 我使用标准的C/C++接口函数,但我想把它们封装到C++类中。问题在于,用于发送和接收的函数返回(或要求)指向void的指针。有没有办法使用封装这些值的对象

如何封装C/C++;类中的套接字发送和接收函数? 我使用标准的C/C++接口函数,但我想把它们封装到C++类中。问题在于,用于发送和接收的函数返回(或要求)指向void的指针。有没有办法使用封装这些值的对象,c++,sockets,oop,C++,Sockets,Oop,例如,在Java中,类同时使用和来处理对象类型,因此每个对象都可以通过套接字发送。 我知道在java中,方法是很不同的,因为指针是隐藏在程序员的,但是C++中有类似的解决方案吗?< /P> < P> Socket < /C> >不是C++函数。这是一个系统级函数,它不知道任何关于对象的信息(或者实际上是c++中的任何信息),因此您必须安排为它提供一个指向要传输的数据的指针。正如@GCT所说,套接字不是一个函数,而是一个用于处理网络连接的系统级函数。在C/C++中,每个套接字都用一个整数值标识,

例如,在Java中,类同时使用和来处理对象类型,因此每个对象都可以通过套接字发送。
我知道在java中,方法是很不同的,因为指针是隐藏在程序员的,但是C++中有类似的解决方案吗?< /P> < P> <代码> Socket < /C> >不是C++函数。这是一个系统级函数,它不知道任何关于对象的信息(或者实际上是c++中的任何信息),因此您必须安排为它提供一个指向要传输的数据的指针。

正如@GCT所说,套接字不是一个函数,而是一个用于处理网络连接的系统级函数。在C/C++中,每个套接字都用一个整数值标识,所以要将其作为对象处理并不容易

我建议您阅读本文,以了解更多有关套接字的信息


也许它可以帮助你:我有一个项目,展示如何在C++中使用套接字。服务器和客户端包含在它们自己的类中。你可以这样做。

看看你是否可以使用。你需要使用一些现成的库或框架来实现这一点。看,我会尽量在代码和套接字之间保持一点距离。我的意思是,如果您想实现HTTP,请使用HTTP库。对于其他协议,同样适用。除非有充分的理由,否则不要自己实施协议。如果您只想在程序之间交换消息,请考虑使用例如ZROMQ。