资源描述:
《socket编程之编写第一个网络程序,c_c++,自学去》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、2015/1/22【新提醒】socket编程之编写第一个网络程序,C/C++,自学去设为首页收藏本站admin在线
2、每日签到
3、我的
4、设置
5、消息
6、提醒(2)
7、门户管理
8、管理中心
9、退出积分:9681
10、用户组:管理员消息新听众(3)坛友互动(1)论坛视频教程c/c++PHP问答平台编程文章个人空间搜索QQ群快捷我导的航帖子(1)请输入搜索内容帖子热搜:c语言java编程教程自学去搜论坛编程语言C/C++socket编程之编写第一个网络程序返回列表121/2页下一页删除主题
11、升降
12、置顶
13、直播
14、高亮
15、精华
16、图章
17、图标
18、关闭
19、移
20、动
21、分类
22、复制
23、索合并
24、分割
25、修复
26、警告
27、屏蔽
28、标签
29、生成文章自»›››查看:4284
30、回复:21[视频教程]socket编程之编写第一个网络程序[复制链接]admin发表于20146300:18:55
31、只看该作者
32、只看大图楼主电梯直达学习技巧:遇到不懂多查资料,不急不躁,多动手多思考,熟能生巧。学79039759681主题帖子积分管理员积分9681去在上节课socket网络编程之了解网络通信原理中我们已经对网络编程,有了一个简单的了解,这节课我们就来编程实现IP编辑禁止帖子清理两台电脑之间的通信。两台电脑通信,那么
33、数据是如何在两台电脑之间传输的呢?是的,就是通过网线来传输,通过电的正负来表示二进制中的01,大家都知道在电脑中,一切数据(图像,声音,文字)都是二进制方式存储的,所以这样便可以通过网线传输任何数据。那我们究竟如何编程实现数据的传输呢?难道用c语言控制电的正负极吗?当然我们不需要这样做,我们只需要使用操作系统提供给我们的一套网络编程的api函数即可,什么api函数其实也就是函数,我们只要学会使用这些函数,那么就可以用来编写出各式各样的网络程序了,不需要我们去做重复造轮子的事情。接下来就谈谈这一套网络编程的api函数吧
34、。第一个概念就是socket,大家可以点开去百度百科看看,他还附带了一个小例子,最好详细的看看,并尽量试图理解他,这对后面的学习很有帮助。如何使用这一套编程函数呢?只需要按照以下几个步骤,以下步骤十分重要:程序分为服务端和客户端(服务端就相当于我们的网站服务器,客户端就相当于我们的浏览器)在服务端,我们需要大致按照以下步骤:http://www.zixue7.com/thread380411.html1/112015/1/22【新提醒】socket编程之编写第一个网络程序,C/C++,自学去1.初始化socket库。
35、2.绑定本机地址和端口。(服务端特有)3.监听端口,等待客户端连接。4.当有客户端连接,进行处理,但后继续监听或者结束程序。5.退出程序,关闭socket,终止对socket库的使用。在客户端,我们需要按照以下步骤:1.初始化socket库。2.设置远程主机的地址和端口信息,并连接。3.等待服务端的响应4.当服务端响应,进行处理。5.退出程序,关闭socket,终止对socket库的使用。下面引用一张来自网络的图片,直观的说明通信的过程。下面是代码示例:服务端:01.#include02.#incl
36、ude03.04.intmain(void)05.{06.intlen=0;07.WSADATAwd;08.intret=0;09.SOCKETs,c;10.charsendBuf[1000]="",recvBuf[1000]="";11.SOCKADDR_INsaddr,caddr;12.ret=WSAStartup(MAKEWORD(2,2),&wd);/*1.初始化操作*/13.14.if(ret!=0)15.{16.return0;17.}18.if(HIBYTE(wd.wVersio
37、n)!=2
38、
39、LOBYTE(wd.wVersion)!=2)19.{20.printf("初始化失败");21.WSACleanup();22.return1;23.}24.25./*2.创建服务端socket*/26.s=socket(AF_INET,SOCK_STREAM,0);27.28./*3.设置服务端信息*/29.saddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);30.saddr.sin_family=AF_INET;/*协议类型*/31.saddr.sin_por
40、t=htons(8888);32.33./*4.绑定在本地端口*/34.bind(s,(SOCKADDR*)&saddr,sizeof(SOCKADDR));35.36./*5.监听端口*/37.listen(s,5);38.39.len=sizeof(SOCKADDR);40.41.while(1)42.{http://www.zixue7.