- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Socket编程.ppt
Socket编程 什么是socket? Socket就是“套接字”的译文。套接字是网络通信的基本概念。 如同两个不同地方的人写信交流。二者需要姓名、地址、邮编这三个要素才能进行通信。我们将这三个要素打包在一起写在信封上。这里,信封的概念就类似于套接字。 重要概念: 地址结构体。这是一个C语言的结构体,网络通信中用它来填写我们的地址、名字等信息。结构体名字为:sockaddr。但经常使用宏(SOCKADDR)来表示。在具体的网络环境下我们使用不同的具体结构体,如TCP/IP协议中用sockaddr_in 通信初始化事宜 要进行网络编程,我们会用到系统很多函数,这些函数封装在系统DLL中,我们需要去加载它。 WSAStartup()用于初始化系统库。其两个参数,一个是我们要加载的套接字版本信息,一个是我们加载后用于保存的变量。查MSDN可以看到。 绑定地址 用sockaddr_in保存好我们的地址等信息后,然后就要用一个信封来装,这个信封就是套接字socket 用bind()函数来将一个空的套接字和我们的地址绑定起来。(将地址信息装入信封) 完成以上操作后我们一方的地址就建立好了,接下来就可以用这个信封(套接字)与别人进行发送信息了。 对于服务器 建立好自己的地址信息后,然后就是通信的问题了。如果是作为服务器,那就是等待别人来连接自己,然后自己做出相应。如果是客户端,就去主动连接别人。 对于服务器,要等待别人的连接,那么自己先得去监听别人的连接。监听的过程用listen函数完成。 对于客户端 客户端绑定好自己的地址信息后,不是监听别人来连接自己,而是主动连接别人。 这个主动连接过程,用connect()函数完成。 连接成功后,用send()函数发送信息,recv()函数接收信息。 信息发送完毕后,断开连接,closesocket()关闭套接字。 后续工作 通信过程完成后,要释放我们之前加载的套接字库。 WSACleanup()函数释放动态链接库。 作业 分别编写一个客户端和一个服务端,服务端开启后,等待客户端的连接,完成一次数据发送,发送数据为“欢迎来到服务器”(可自己写和扩展) * * 2011-9-25 木马编程第一步 注意sockaddr与SOCKADDR和sockaddr_in的关系和区别 *
您可能关注的文档
- 2010扶贫个人总结.doc
- 2012年农村能源半年工作总结.doc
- 肠病相关T细胞淋巴瘤18例临床病理分析.doc
- 电缆施工方案.doc
- 复方调理油方贴.doc
- 钢筋工劳务分包合同.doc
- 高压电动机标准检修步骤.doc
- 工商行政管理党风廉政建设心得.doc
- 公共管理演变.doc
- DDR SDRAM:SoC低成本高复杂度片外存储器解决方案.doc
- 某区纪委书记年度民主生活会“四个带头”个人对照检查材料.docx
- 某县纪委监委2024年工作总结及2025年工作计划.docx
- 某市场监督管理局2024年第四季度意识形态领域风险分析研判报告.docx
- 县委书记履行全面从严治党“第一责任人”职责情况汇报.docx
- 税务局党委书记2024年抓党建工作述职报告.docx
- 某市税务局副局长202X年第一季度“一岗双责”履行情况报告.docx
- 副县长在全县元旦春节前后安全生产和消防安全工作部署会议上的讲话.docx
- 某市委书记个人述职报告.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料1.docx
- 某县长在县委常委班子年度民主生活会个人对照检查材料.docx
文档评论(0)