python socket编程

Python017

python socket编程,第1张

通过python的网络通信支持,通过网络模块,python程序可以非常方便地相互访问互联网上的HTTP服务和FTP服务等。可以直接获取互联网上的远程资源,还可以向远程资源发送GET POST请求。

计算机网络是线代通信技术与计算机技术相结合的产物,计算机网络主要可以提供

通信协议一般由三部分组成:一是语义部分,用于决定双方对话类型;二是语法部分,用于决定双方对话的格式;三是变化规则,用于决定通信双方的应答关系。

应用层:与其它计算机进行通讯的一个应用,它是对应应用程序的通信服务的。有HTTP, FTP , NFS, SMTP, TELNET

表示层:这一层主要是定义数据格式及加密。如加密, ASCII

会话层:它定义了如何开始、控制和结束一个会话,包括对多个双向消息的控制和管理,以便在只完成连续消息的一部分时可以通知应用,从而使表示层看到的数据是连续的。如 RPC,SQL

传输层:这层的功能包括是否选择差错恢复协议还是无差错恢复协议,及在泳衣主机上对不同应用的数据流的输入进行复用,还包括对收到的顺序不对的数据包的重新排序功能,如 TCP UDP SPX

网络层:这层对端对端的包传输进行定义,它定义了能够标识所有结点的逻辑地址,还定义了路由实现的方式和学习的方式。如IP

数据链路层:它定义了在单个链路上如何传输数据。这些协议与被讨论的各种介质有关

物理层:OSI的物理层规范是有关传输介质的特性,这些规范通常也参考了其他组织制定的标准。

IP地址用于唯一标识网络中的一个通信实体,这个通信实体既可以是一个主机,也可以是路由器的某个端口,。而在基于IP协议的网络中传输数据包都必须使用IP地址来进行标识。

端口,程序与外界进行交互的出入口。

Tcp/IP通信协议是一种可靠的网络协议,他在通信的两端建立一个socket,从而形成虚拟的网络链路。一旦建立了虚拟网络链路,两端的程序就可以通过该链路进行通信。

IP 是Internet上使用的一个关键协议,通过IP协议,使internet成为一个允许连接不同类型的计算机和不同操作系统的网络。同时还需要TCP协议来提供可靠且无差错的服务。

TCP协议被称为端对端协议,这是因为他在两台计算机的连接中起了非常重要的角色,当一台计算机需要与另外一台计算机连接时,TCP协议会让他们之间建立一个虚拟链路,用于发送和接受数据。

TCP协议负责收集这些数据包,并将其按照适当的顺序传送,接收端收到数据包后将其正确的还原。TCP保证数据包在传送过程中准确无误。TCP协议采用重发机制,当一个通信实体发送一个消息给另外一个通信实体后,需要接收到另外一个通信实体的确认信息,如果没有接收到该确认信息,则会重发信息。

使用socket之前,必须先创建socket对象,可通过该类的构造器来创建socket实例。

socket.socket(family = AF_INET, type= SOCK_STREAM, proto=0, fileno= None)

socket对象常用的方法:

基本步骤

创建客户端的步骤:

小实例:服务端

客户端:

通过这样就可以实现socket之间的通信。

自己找到解决方法了…不要将python放在NFS上,放在本地盘之后好了…

python3.5.2版本安装时make步骤报错,报错信息如下:

/bin/mkdir -p Python

python ./Parser/asdl_c.py -c Python ./Parser/Python.asdl

Traceback (most recent call last):

File "./Parser/asdl_c.py", line 6, in <module>

import asdl

File "/FEX_DATA/PyDir/Python-3.5.2/Parser/asdl.py", line 36

builtin_types = {'identifier', 'string', 'bytes', 'int', 'object', 'singleton'}

^

SyntaxError: invalid syntax

make: * [Python/Python-ast.c] Error 1

我安装了4台机器,其中2台出现该问题,另外两台安装正常。请问这个是什么引起的报错,要如何解决呢?非常感谢!

Python培训现在市面上做的挺多的,适合自己的才是最好的。我报名的千锋,我是在听过千锋试听课之后才决定的,而且他家的试听可以俩个星期,足够了解一个机构了。这样的机构真的是很有实力的,课程内容都很丰富,课程设计由浅入深,更容易使我们接受。老师的讲解也比较细则,解答问题也比较及时,只要课上认真听,课下多练习,就能够收获很大。当然,如果你自己不学习就是找再好的机构老师也是没用的,只有找到好的机构,再加上自己的努力才能够达到学习的目的。