C语言也能干大事第十二节(如鹏基础)
一、复习:
复述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语言也能干大事精华帖
如鹏网 http://www.rupeng.com/ 1.尘封 俄罗斯方块 hity 俄罗斯方块 小马_xiao 由写俄罗斯方块引发的种种 2.Diao_Cow 很funny的程序 ...
- c语言开发网站教程,C语言也能干大事之C语言开发网站教程
教程名称:C语言也能干大事之C语言开发网站教程 课程简介: 本章主干知识点:现在做桌面窗口程序开发的工作已经不多了,目前企业需求量最大的技术是"网站开发".因此发布一套<C语 ...
- 【C语言也能干大事】第五讲 组合框控件,下拉列表
获得组合框控件的句柄 HWND hwndCombo1 = GetDlgItem(hwnd, IDC_COMBO1); 确定目前选项的索引 int curSel = ComboBox_GetCurSel ...
- php能做的事,PHP也能干大事 随机函数
写在前面 PHP也能干大事是我总结的PHP语法特性及相关函数类库的经典用法,并不一定是真正能实现四两拨千斤的功效,但是掌握这些方法,可以在你的工作和学习上有一些帮助,希望大家能集思广益,将<PH ...
- C 语言究竟能干什么
C语言究竟能干什么 序言 鉴于现在已经大三了,很多同学很迷茫,自己学的东西到底能做什么,将来自己到底能干什么?我不想看着同学迷茫的面孔, 特别是几个好兄弟,有几个想学习编程,但又苦苦找不到门路的兄弟, ...
- win7php一键,批处理也能干大事之——如何实现Win7系统一键切换用户
<批处理也能干大事之--如何实现Win7系统一键切换用户>要点: 本文介绍了批处理也能干大事之--如何实现Win7系统一键切换用户,希望对您有用.如果有疑问,可以联系我们. 我们在使用电脑 ...
- 学会了C语言究竟能干什么呢?
学会了C语言究竟能干什么呢? 真的可以开发出很多东西吗? c语言也许"只能"做数学题.可是,绝大多数游戏的运行过程就是不停的做数学题,而所谓编写游戏,也就是把游戏的规则和游戏的效果 ...
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战
R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置数据点抖动显示jitter)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(配置 ...
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色自定义配置)实战
R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框颜色自定义配置)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(分组箱体框 ...
- R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战 目录 R语言使用ggplot2包使用geom_boxplot函数绘制基础分组箱图(添加均值点)实战
最新文章
- 科研助力|计算机科学方向一对一科研项目
- JSON(JavaScript Object Notation)数据在python中的读写
- AgentShop Development
- SAP中SD客户投诉退货的处理方案
- Linux备份检查工具,6种优化Linux系统备份的应用与技巧
- spark多个kafka source采用同一个group id导致的消费堆积延迟
- Python精通-Python学习路线详细介绍
- c语言程序设计单项选择题,1.奥鹏南开《C语言程序设计》复习资料单项选择题答案及解析...
- 进程间能否传递指针?
- 学生管理系统功能设计c语言,C语言--学生信息管理系统设计.doc
- BLDC直流无刷电机的控制方式
- 达芬奇剪辑调色专用键盘DaVinci Resolve Speed Editor
- 如何使用视频格式转换器将QLV格式转换成MP4
- DOS命令之诊断网络
- 计算机组织与结构性能设计答案,计算机组织及结构—性能设计第八版答案-COA8e.pdf...
- 8小时浓度均值即连续8个小时浓度的平均值
- Python:安装 psycopg2
- 华为微认证——鲲鹏处理器
- 马斯克认错:裁掉他们是我最大的错误,但黑粉们却没能笑太久...
- 百度鹰眼轨迹后台的移植