Python 网络编程(1)

Python网络编程是通过模块实现的。里面的模块针对不同的方面。

例如最熟知的应该就是Socket模块,它适用于底层网络编程。

例如urllib,http,ftplib,smtplib针对具体的网络协议。

还有就是ipaddress是作为工具模块进行使用。

twist针对异步网络编程。

我们要进行网络编程,要掌握的就是网络相关知识

而里面的结构则分为四部分:应用层(FTP,HTTP等),传输层(TCP,UDP),网络层(IP),网络接口层(TCP/IP协议)

而我在这里讲一下TCP/IP协议中规定的端口值:

0-1023 周知端口,一般会有固定协议。

1024-49151 注册端口,程序员自由注册使用。

49152-65535 动态端口,是由操作系统动态分配。  

其中 FTP端口为21 HTTP端口为80(若开发Web服务器基本使用80端口)

TCP/IP中TCP和UDP协议通过套接字(Socket)实现功能,这是一种类文件对象,用于发送和接收数据

Socket(family,type,proto)

family 地址族,默认为IPv4(AF_INET)也可以为AF_INET6或者AF_UNIX

type Socket类型,默认为TCP(SOCK_STREAM) UDP(SOCK_DGRAM)

proto 协议类型 默认为0.

其中里面还包含了多种方法,bind(address),listen(backlog),accept(),close()

recv(buffersize,[,flag]) 接收数据 buffersize 缓冲区大小

sned(data,[,flag])

下面以TCP连接方式为例,建立一个简单的服务器。

import socket

Host=' '

Port=10888

s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)

s.bind((Host.Port))

s.listen(1)

conn,addr=s.accept()

print('client\'s Address:',addr)

while ture:

        data=conn.recv(1024)

        if not data:

        break

        print("Receive Data:",data.decode('utf-8'))

        conn.send(data)

conn.close()


附:第一次写,感觉编辑器体验感有点差,在这里写程序可能并不合适,看看吧,也可能去CSDN或者Github,如果有人看了我写的文章,希望指正。我也会尽量抽出时间打卡的。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 网络编程 一.楔子 你现在已经学会了写python代码,假如你写了两个python文件a.py和b.py,分别去运...
    go以恒阅读 2,051评论 0 6
  • 一、不同电脑上的进程之间如何通信 在1台电脑上可以通过进程号(PID)来唯一标识一个进程,但是在网络中这是行不通的...
    IIronMan阅读 422评论 0 2
  • 代码不好排版,可以到微信订阅号(xuanhun521)查看原文。 Python黑帽编程2.8套接字编程 套接字编程...
    玄魂阅读 660评论 1 2
  • 爱情是一种说没就没的东西,但在暗恋一个人却让自己变得很开心,不过,有时又会变得虚伪,那是因为你太在乎你所爱的人了,...
    岁月_流逝阅读 483评论 0 1
  • 1——新园篇 昨天下午,阳光明媚,浙江追求基金管理有限公司总经理盛亚兰考察新园新能源(纯电动)物流汽车项目建筑工地...
    陈水河阅读 589评论 1 6