/*连上时间服务器140.252.1.32得到时间*/#include <winsock2.h>
#include <stdlib.h>
#include <string.h>
#include <stdio.h>#define BUFFSIZE 150int main()
{
sockaddr_in serv;
char buff[BUFFSIZE];
int sockfd;
int n;
if((sockfd=socket(PF_INET,SOCK_DGRAM,0))<0){ //创建SOCKET
printf("socket error!\n");
exit(0);
} memset(&serv,0,sizeof(serv)); //清零,然后赋值
serv.sin_family=AF_INET;
serv.sin_addr.s_addr=inet_addr("140.252.1.32");
serv.sin_port=htons(13); if(sendto(sockfd,buff,BUFFSIZE,0,(sockaddr*)&serv, //发送请求
sizeof(serv))!=BUFFSIZE){
printf("send error!\n");
exit(0);
}
//接受服务器来的时间信息
if((n=recvfrom(sockfd,buff,BUFFSIZE,0,(sockaddr*)NULL,(int*)NULL))<2){
printf("recvfrom error!\n");
exit(0);
} buff[n-2]=0; //替换回车符 printf("%s\n",buff); //打印时间
return(0);
}运行程序,总是“socket error!”,调试看到变量sockfd=-1。问题:
创建SOCKET失败是我的程序的问题,还是系统问题??谢谢。
系统:Windows XP and VC++6.0
#include <stdlib.h>
#include <string.h>
#include <stdio.h>#define BUFFSIZE 150int main()
{
sockaddr_in serv;
char buff[BUFFSIZE];
int sockfd;
int n;
if((sockfd=socket(PF_INET,SOCK_DGRAM,0))<0){ //创建SOCKET
printf("socket error!\n");
exit(0);
} memset(&serv,0,sizeof(serv)); //清零,然后赋值
serv.sin_family=AF_INET;
serv.sin_addr.s_addr=inet_addr("140.252.1.32");
serv.sin_port=htons(13); if(sendto(sockfd,buff,BUFFSIZE,0,(sockaddr*)&serv, //发送请求
sizeof(serv))!=BUFFSIZE){
printf("send error!\n");
exit(0);
}
//接受服务器来的时间信息
if((n=recvfrom(sockfd,buff,BUFFSIZE,0,(sockaddr*)NULL,(int*)NULL))<2){
printf("recvfrom error!\n");
exit(0);
} buff[n-2]=0; //替换回车符 printf("%s\n",buff); //打印时间
return(0);
}运行程序,总是“socket error!”,调试看到变量sockfd=-1。问题:
创建SOCKET失败是我的程序的问题,还是系统问题??谢谢。
系统:Windows XP and VC++6.0
解决方案 »
- 弹出对话框擦除先前对话框上所画图的问题
- 怎么进入CWinApp::ProcessShellCommand函数内部
- 求助关于MFC和STL联合编程的问题
- 谁知道怎么刷新CWnd的ScrollBar区域???谢谢大家:)!!一定给分!!!
- 运行时sql占用资源不断增长,如何办?
- 正在学习编程中,请教各位师哥师姐了,关于win32 static library?
- 求购vod视频点播系统源码!
- 用static text 显示位图
- Rich Edit输入,输出小问题
- vc++的作用到底有多强大?
- MFC的ocx控件,如何使用ExchangeFontProp交换Font属性?(400 points)
- 程序修改多次后,编译是出错,提示很多按钮的的消息映射函数都变成非法了,怎么回事?
这句话中的PF_INET应该是AF_INET.
在C/C++版已经帮你回复了,:)