请问C++下recvfrom如何使用?

http://wenwen.soso.com/z/q166828142.htm在这里你说:上面回答很对,不过你的这句代码本身有问题,c++一般不会这样写(structso... http://wenwen.soso.com/z/q166828142.htm 在这里你说:上面回答很对,不过你的这句代码本身有问题,c++一般不会这样写(struct sockaddr*)& ,这是C风格写法,这样在VS2005以上编译器上会报错,C++直接用( sockaddr*)。 我的确是在VS2005编译器运行的,可是我把(struct spcladdr*)&from 换成 (spcladdr*)from 这样运行还是报错 有3个错误:1>d:\my program\netmedia\udpserver1\udpserver.cpp(40) : error C2065: 'spcladdr' : undeclared identifier1>d:\my program\netmedia\udpserver1\udpserver.cpp(40) : error C2059: syntax error : ')'1>d:\my program\netmedia\udpserver1\udpserver.cpp(42) : error C2143: syntax error : missing ';' before '{' 源代码是这样的:if(recvfrom(socket1,buffer,sizeof buffer,0,(struct spcladdr*)&from,&fromlen) !=SOCKET_ERROR) 展开
 我来答
y5254y
2012-02-20 · TA获得超过893个赞
知道小有建树答主
回答量:219
采纳率:50%
帮助的人:142万
展开全部
最近测试程序中一直在用,给你点代码片段
(1) sockaddr_in from;
int from_len = sizeof(from);
int rc = recvfrom(sock, buf, 65536, 0, (sockaddr*)&from, &from_len);
if (rc > 0)
{
//处理收到的数据
}

(2)
memset(buf, 0, BUF_SIZE);
int rc = recvfrom(pThis->m_udpSocket, buf, BUF_SIZE, 0, (sockaddr*)&from, &from_len);
if (rc > 0)
{
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
海狮2D
2012-02-11 · TA获得超过3020个赞
知道大有可为答主
回答量:1904
采纳率:55%
帮助的人:1042万
展开全部
原来的回答就不对,你这个,spcladdr 编译器不认识,所以出错。
一般是没有定义的结构,少include了文件。
那么写和C/C++没有太多关系,关键是后面的那个东西是结构体,不是class就对了。
要是class,只要你是专业的,什么都无所谓。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式