C语言也能干大事第十二节(如鹏基础)
来源:互联网 发布:办公软件word2007 编辑:程序博客网 时间:2024/06/06 08:00
一、复习:
复述QQ的基本原理;在一个典型的网络程序中分为哪两端?
IP地址、域名、DNS、端口是做什么用的?
演示一个简单的和网易Email服务器对话的过程。
Socket是Windows特有的吗?什么是WinSock?
WinSock和Socket标准的区别和联系。
Windows中函数的错误信息是通过什么来报告的?
创建客户端到服务器端的Socket连接的时候需要指定服务器端的端口吗?为什么?需要指定客户端的端口吗?为什么?客户端不用显式指定端口,但并不是说不需要端口,而是这个端口是由操作系统分配的。
有一个端口能同时被多个程序占用吗?
发送、接收数据各用什么函数?
二、开发网络定时器
1、看看Windows的网络授时功能(客户端)
2、网络授时原理
客户端连接到授时服务器上,授时服务器会马上将当前时间发送给客户端,原理很简单。
网络授时分为好几种协议,比如返回的是日期字符串,有的返回的是自1900年1月1日至今的秒数。“2009-03-08 22:13:58”、39393933993
扩展阅读:http://zhidao.baidu.com/question/20121991.html
2、国家授时中心提供的网络授时返回的是自1900年1月1日至今的秒数。
3、先移植第一节课的代码
可供选择的授时服务器(不止这些):
www.time.ac.cn
国家授时中心
Clock.sgi.com
SGI
Tick.mit.edu
麻省理工学院
Time.nist.gov
NIST
Compile:编译
Link:连接
编译是单一的文件编译成.o、.obj文件,然后Link是.obj连接成.exe
Link库!!!!
一通百通的力量!!!!!!!!!!!!!!
C-Free、VC没有任何差别!!!!!!!!!!!!
小技巧:在命令提示符下不能CtrlC、CtrlV,但是选中后点右键就是复制、粘贴
4、
授时服务器是37端口IPPORT_TIMESERVER。返回的是什么?
unsigned long ulTime;
recv(sock,(char *)&ulTime,sizeof(unsigned long),0);
深刻理解这段代码的含义
ulTime = ntohl(ulTime);
从网络字节顺序转换为主机字节顺序。这个是重点,很多公司面试的时候都会问这个,以后工作中也会遇到。
什么是网络字节顺序、什么是主机字节顺序。
不同的CPU中处理整数的方式不一样,有的是低位在前、有的是高位在前。计算机组成原理、数字电路。。。
网络字节顺序则是统一标准。
如果直接接收的话就会造成接受者接收的数据正好是相反的。
扩展阅读:http://hi.baidu.com/cdmember_daihw/blog/item/ad83090f1fb4ffebab6457e6.html
中国是东8区。猜的:时间服务器返回的是格林尼治时间。
Windows中时间用SYSTEMTIME结构体表示时间,怎么将ulTime转换为SYSTEMTIME?网上找到下面的代码:
#define HIGHTIME
21968699 // 21968708 // Jan 1, 1900 FILETIME.highTime
#define LOWTIME
4259332096 // 1604626432 // Jan 1, 1900 FILETIME.lowtime
SYSTEMTIME st;
UINT64 uiCurTime, uiBaseTime, uiResult;
uiBaseTime = ((UINT64) HIGHTIME << 32) + LOWTIME;
uiCurTime = (UINT64)dwTime * (UINT64)10000000;
uiResult = uiBaseTime + uiCurTime;
FileTimeToSystemTime((LPFILETIME)&uiResult, &st);
把它封装成函数,怎么设计接口?深刻理解指针以及Windows中LP的惯例。
把时间打印出来,怎么打印??????
怎么时间不对
设置系统时间
//SetSystemTime(&st);
作业:定时的进行网络对视。SetTimer函数,1分钟对时一次。时钟。
- C语言也能干大事第十二节(如鹏基础)
- C语言也能干大事第九节(如鹏基础)
- C语言也能干大事第十节(如鹏基础)
- C语言也能干大事第六节(如鹏基础)
- C语言也能干大事第七节(如鹏基础)
- C语言也能干大事第十四节(如鹏基础)
- C语言也能干大事第八节(如鹏基础)
- C语言也能干大事十一节(如鹏基础)
- C语言也能干大事第十三节(如鹏基础)
- C语言也能干大事第二节
- C语言也能干大事第四节
- c语言也能干大事
- c语言也能干大事
- C语言也能干大事
- C语言也能干大事
- C语言也能干大事
- c语言也能干大事!
- 《C语言也能干大事》第二十节:多线程开发
- C语言也能干大事十一节(如鹏基础)
- JAVA23种设计模式
- java文件读取
- Java笔记
- SSH log4j
- C语言也能干大事第十二节(如鹏基础)
- 调整 Xen 虚拟硬盘大小
- STM32 独立看门狗IWDG 与窗口看门狗WWDG
- 内存中加载flash.ocx控件并从内存中加载swf文件资源后播放之
- 将一个数组逆序输出
- excel 常用操作 flash版
- Oracle 11g 触发器新增功能
- spring在web.xml中的配置
- 到底应该把网站放在哪里?