用socket实现服务器的编程总结

用socket实现服务器的编程总结

ID:30304673

大小:24.02 KB

页数:17页

时间:2018-12-28

用socket实现服务器的编程总结_第1页
用socket实现服务器的编程总结_第2页
用socket实现服务器的编程总结_第3页
用socket实现服务器的编程总结_第4页
用socket实现服务器的编程总结_第5页
资源描述:

《用socket实现服务器的编程总结》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划用socket实现服务器的编程总结  Socket编程总结  听会、看会、甚至把代码引用过来,不一定是真正的会了,这点我真是深有体会。前几天去一家公司面试,有上机操作的题目,要求是这样的:开两个线程,一个是服务器线程一个是客户端线程,要求客户端给服务器发送一个“你好,服务器!”,服务器收到后给客户端回复“你好,客户端!”,然后客户端和服务器同时关闭。  由于最近一直在做一个屏幕监控的软件,socket很常用,但是大部分socket通信代码都是直接“引用过来

2、的”,直接配置一下IP和端口,甚至,后来还把IP和端口放到了.ini文件中。所以自己写出来的socket代码千疮百孔,惨不忍睹。。。回来后痛定思痛,认真的总结了以下socket通信的步骤:  TCP的步骤很规范:服务器端:  客户端:  一、初始化工作  MSDN中原话如下:  TheWSAStartupfunctioninitiatesuseofWs2_byaprocess。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特

3、制定安保从业人员的业务技能及个人素质的培训计划  意思就是你如果想用socket那套函数,得先做一些初始化:  1引入头文件:#include  2在工程中加入socket的动态库文件:在Project->Settings->Link在【Object/librarymodules:】一项中加入Ws2_(至于动态库为什么是.lib结尾的,这里不做赘述,可以看看动态库那部分知识),然后点击OK。  3WSAStartup代码参考MSDN中WSAStartup下面的实例代码,直接粘过来就OK。  二、服务器端编程  做完了初始化,现在到服务器端的编写了  此处注意:  a

4、)这里用SOCKADDR_IN  代表SOCKADDR是因为SOCKADDR是为所有的地址家族准备的,这个结构可能随着所使用的网络协议不同而不同。在TCP/IP协议中,用SOCKADDR_IN结构来替换sockaddr,以方便填写地址信息。  b)INADDR_ANY允许套接字向任何分配给本地机器的IP地址发送或者接收数据。例如多个网卡的机器,每个网卡都有自己的IP  ,用INADDR_ANY允许一个独立应用接收发自多个接口的回应目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司

5、新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安保从业人员的业务技能及个人素质的培训计划  c)htonl是把一个unsignedlong的数转换为一个网络字节序  三、客户端编程  客户端代码跟服务器代码很类似  首先初始化资源。。。  其次是socket编程:  四、UDP  代码略。。。源码发信li@  五、总结  1一定按照指定网络字节序初始化IP和PORT  几个有用的函数(详细介绍见MSDN)  inet_addr-把点分十进制的IP地址转化为in_addr结构体的地址;  inet_ntoa-把in_addr格式的IP地址转换成一个点分十进

6、制IP地址;  htons-把一个u_short类型的主机序列数转化成一个网络字节序的u_short;htonl-把一个u_long类型的主机序列数转换成一个网络字节序的u_long  2注意服务器端,不要用绑定的socket收发数据,而是用建立连接的socket收发数据3UDP连接方式中,sendto的第五个参数conststructsockaddr*,一定搞清楚地址。目的-通过该培训员工可对保安行业有初步了解,并感受到安保行业的发展的巨大潜力,可提升其的专业水平,并确保其在这个行业的安全感。为了适应公司新战略的发展,保障停车场安保新项目的正常、顺利开展,特制定安

7、保从业人员的业务技能及个人素质的培训计划  socket编程看似简单,主要思想也就那么几步,但是很容易出问题。我面试时候的问题在于:没有按照指定的网络字节序初始化IP和PORT,多么痛的领悟!  在计算机通信领域,socket被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。  socket的典型应用就是Web服务器和浏览器:浏览器获取用户输入的URL,向服务器发起请求,服务器分析接收到的URL,将对应的网页内容返回给浏览器,浏览器再经过解析和渲染,就将文字、

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。