假设你用这个类定义了一个对象dt,那么可以用
send(sock, &dt, sizeof(dt), 0)
来一次性发送。
接收端,定义一个指针 data *pdt = new dt; 用
recv(sock, pdt, sizeof(dt), 0)
来接收。
可以实现,跟结构体差不多。我试过了,有问题hi我哈~
代码如下:
服务端:
class data
{
public:
int mout;
int day;
int year;
};
data a={9,10,2010};
char *buf = (char*)(&a);//把对象a的地址传过去
int len = sizeof(class data);
send(SOCKET s,char* buf,int len);
客户端:
class data
{
public:
int mout;
int day;
int year;
}
data b;
recv_loop(SOCKET s,(char*)(&b),sizeof(class data));
cout<<b.mout<<'\n'<<b.day<<'\n'<<b.year<<endl;
可以自己定义类,在服务端和客户端都定义即可
本文介绍了如何在C++中通过socket进行网络通信,特别是如何发送和接收自定义类实例。服务端和客户端通过定义类并使用send和recv函数实现了数据的双向传输。
2645

被折叠的 条评论
为什么被折叠?



