求助?CSocket的广播形式是怎样用的? 如果我不用TCP/IP协议,而用用UDP的广播协议,用CSocket怎么做到的?是不是把数据流的形式设为SOCK_DGRAM,然后用sendto,在客户端用receivefrom就可以了。要不要连接呀什么的。有谁有这样的例子嘛?我的信箱[email protected](注:是减号,不是下划线) 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 把local IP设为xxx.xxx.xxx.255, remote和local port设为不同的值 创建套接字: int Sockfd; sockaddr_in hostip; Sockfd=socket(AF_INET,SOCK_DGRAM,0); if(Sockfd==INVALID_SOCKET){ AfxMessageBox("创建套接口失败!"); } hostip.sin_family=AF_INET; hostip.sin_addr.s_addr=INADDR_ANY; hostip.sin_port=htons(12180); bool optval=TRUE; setsockopt(Sockfd,SOL_SOCKET,SO_REUSEADDR,(char FAR *)&optval,sizeof(optval)); if(bind(Sockfd,(struct sockaddr *)&hostip,sizeof(hostip))==SOCKET_ERROR){ AfxMessageBox("主机绑定错误!"); } if(setsockopt(Sockfd,SOL_SOCKET,SO_BROADCAST,(char FAR *)&optval,sizeof(optval))==SOCKET_ERROR){ AfxMessageBox("广播通信设置产生错误!"); }发送消息: sockaddr_in destip; int state; destip.sin_family=AF_INET; destip.sin_addr.s_addr=INADDR_BROADCAST; destip.sin_port=htons(12181); if(state=sendto(sock,(char *)buffer,buffersize,0,(struct sockaddr *)&destip,sizeof(destip))==SOCKET_ERROR){ AfxMessageBox("数据发送失败"); }接收消息: int state; sockaddr *sa; int salen; char buffer[15]; int buffersize; buffersize=15; if(state=recvfrom(sock,(char *)buffer,buffersize,0,sa,&salen)==SOCKET_ERROR){ AfxMessageBox("数据接收失败"); }关闭套接字: closesocket(sock); ADO远程连接SQL Server 2008 IE 共享自己建立的SSL连接 如何创建滚动条? CFile能处理多大的文件?(二进制格式) GetPrivateProfileString编译时出错 求net send 的实现原理 shilong(银羽(★★倒计时500分)) ,收到分没有?? 如何在程序里使用一个拨号网络建立连接?急!在线等待 vc++,关于图像的坐标 简单的问题,关于线程的。 请教一个ADO的问题。 怎样在VB中连接连接数据库,(主要是连接Access数据库)?
int Sockfd;
sockaddr_in hostip;
Sockfd=socket(AF_INET,SOCK_DGRAM,0);
if(Sockfd==INVALID_SOCKET){
AfxMessageBox("创建套接口失败!");
}
hostip.sin_family=AF_INET;
hostip.sin_addr.s_addr=INADDR_ANY;
hostip.sin_port=htons(12180);
bool optval=TRUE;
setsockopt(Sockfd,SOL_SOCKET,SO_REUSEADDR,(char FAR *)&optval,sizeof(optval));
if(bind(Sockfd,(struct sockaddr *)&hostip,sizeof(hostip))==SOCKET_ERROR){
AfxMessageBox("主机绑定错误!");
}
if(setsockopt(Sockfd,SOL_SOCKET,SO_BROADCAST,(char FAR *)&optval,sizeof(optval))==SOCKET_ERROR){
AfxMessageBox("广播通信设置产生错误!");
}
发送消息:
sockaddr_in destip;
int state;
destip.sin_family=AF_INET;
destip.sin_addr.s_addr=INADDR_BROADCAST;
destip.sin_port=htons(12181);
if(state=sendto(sock,(char *)buffer,buffersize,0,(struct sockaddr *)&destip,sizeof(destip))==SOCKET_ERROR){
AfxMessageBox("数据发送失败");
}
接收消息:
int state;
sockaddr *sa;
int salen;
char buffer[15];
int buffersize;
buffersize=15;
if(state=recvfrom(sock,(char *)buffer,buffersize,0,sa,&salen)==SOCKET_ERROR){
AfxMessageBox("数据接收失败");
}
关闭套接字:
closesocket(sock);