Python程序设计第10章网络程序设计-卫颜俊

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

6
10.1 Socket网络编程

10.1.2 socket编程 1.socket的有关函数


在进行网络通讯之前,首先需要通过socket初始化函数 指定Socket类型以建立Socket对象,socket函数的格式 为:socket(family,type[,protocol]) 其中第一个参数family表示地址家族,常用取值为 AF_INET或AF_UNIX。AF_INET家族包括Internet地址 ,AF_UNIX家族用于同一台机器上的进程间通讯。第二 个参数type表示套接字类型,一般取值为 SOCK_STREAM或SOCK_DGRAM。SOCK_STREAM 主要用于TCP通讯的流式套接字,SOCK_DGRAM主要 用于UDP通讯的数据报套接字。第三个参数protocol一 般可以省略,默认值为0。

10.1.2 socket编程

Python语言提供的网络通讯功能分两大模块:

一种是socket模块,它提供标准的Socket网络通讯功能 ,主要以函数方式设计; 另一种是socketserver模块,以面向对象的方式提供从 而简化了网络服务器的开发。这里仅介绍socket模块的 使用方法。
7
8
9
10
10.1 Socket网络编程

10.1.2 socket编程 2.使用TCP通信的步骤
11
10.1 Socket网络编程
(1)创建一个TCP网络通讯服务器端的步骤。
①使用socket()函数创建服务器端socket套接字,起名为ss ; ②使用ss.bind()函数把IP地址绑定到这个套接字上; ③使用ss.listen()函数监听客户端的连接; ④使用ss.accept()函数等待并接受客户端的socket连接套 接字,起名为cs; ⑤使用ss.sendall()函数向客户端发送新信息; ⑥使用ss.recv()函数接受客户端发送的信息; ⑦使用cs.close()函数关闭所接受的客户端套接字cs,此时 客户端断开通讯; ⑧使用ss.close()函数关闭服务器端套接字ss,此时服务器 通讯程序退出。
第10章网络程序设计
本章内容

10.1 Socket网络编程

10.2 Internet应用编程
2
10.1 Socket网络编程

10.1.1网络基础知识 什么是计算机网络

指将地理位置不同且具有独立功能的多台计算机及 其外部设备通过通讯线路连接起来,并在网络操作 系统、网络管理软件及网络通讯协议的管理和协调 下,实现资源共享和信息传递的计算机系统。 因特网的一组网络通讯协议,其中常见的具体协议 包括:
TCP(有连接传输控制协议)、IP(网际协议)、HTTP( 超文本传输协议)、SMTP(简单邮件传输协议)、POP( 邮局协议)、DNS(域名服务协议)、FTP(文件传输协议 )和UDP(无连接数据报协议)等。
3

TCP/IP协议


什么是Socket
Socket英文原义是“孔”或“插座”的意思,在网 络通讯中一般称为“套接字”。当网络上的两个程序 通过一个双向的通讯连接实现数据交换时,连接的每 一端称为一个Socket。操作系统为每一个完整的 Socket分配一个本地唯一的Socket号,每一个 Socket都有一组相关的协议、本地IP地址和本地端口 。使用Socket可以建立客户/服务器的通讯模式,解 决进程之间建立通讯连接的问题。
12
10.1 Socket网络编程
(2)创建一个TCP网络通讯客户端的步骤。
①使用socket()函数创建客户端socket套接字,起名为cs; ②使用cs.connect()函数尝试连接到服务器套接字上; ③使用ss.recv()函数接受服务器端发送的信息; ④使用ss.sendall()函数向服务器端发送新信息; ⑤使用cs.close()函数关闭客户端套接字cs,此时客户端断 开网络通讯,但服务器断未客户端程序需要连接服务器时,它必须采用一 种恰当方式以识别要连接的服务器,既要知道可以连 接的主机服务器所在的主机的网络IP地址,又要知道 服务器上运行的是哪个进程来提供所需要的特定服务 ,因此通讯服务器和客户端各有自己一侧端口,IP地 址与主机相关联,端口与进程相关联。
5
10.1 Socket网络编程
13
相关文档
最新文档