Python之路——网络编程

socket

TCP

服务端

 1 import socket
 2 sk = socket.socket()
 3 sk.bind((‘127.0.0.1‘,8080)) # 绑定ip和端口号
 4 sk.listen() # Enable a server to accept connections.
 5 conn,addr = sk.accept() # Wait for an incoming connection.  Return a new socket
 6                         # representing the connection, and the address of the client.
 7 while 1:
 8     content = conn.recv(1024)   # 接收
 9     print(content.decode(‘utf-8‘))
10     conn.send(content+b‘--liuyankui‘)   # 发送
11 conn.close()
12 sk.close()

客户端

1 import socket
2 sk = socket.socket()
3 sk.connect((‘127.0.0.1‘,8080))  #连接
4 while 1:
5     content = input(‘>>>‘).encode(‘utf-8‘)
6     sk.send(content)
7     ret = sk.recv(1024)
8     print(ret.decode(‘utf-8‘))
9 sk.close()

UDP

服务端

1 import socket
2 sk = socket.socket(type=socket.SOCK_DGRAM)
3 sk.bind((‘127.0.0.1‘,8080))
4 msg ,addr = sk.recvfrom(1024)
5 print(msg.decode(‘utf-8‘))
6 sk.sendto(b‘bye‘,addr)
7 sk.close()

用户端

1 import socket
2 sk = socket.socket(type=socket.SOCK_DGRAM)
3 ip_port = (‘127.0.0.1‘,8080)
4 sk.sendto(b‘hello‘,ip_port)
5 msg,addr = sk.recvfrom(1024)
6 print(msg.decode(‘utf-8‘))
7 sk.close()

原文地址:https://www.cnblogs.com/liuyankui163/p/8351682.html

时间: 2024-08-01 17:01:14

Python之路——网络编程的相关文章

python之路 -- 网络编程

1.软件开发的架构 - C/S架构(需要安装应用程序使用的软件) c client 客户端 s server 服务端 - B/S架构(可以通过浏览器使用的) b broser 浏览器 s server 服务端 不需要额外的安装客户端了,只需要一个网址就可以访问 轻量级,使用成本低 2.tcp协议/udp协议 tcp协议 全双工的通信协议 建立了专门穿送数据的通道(连接),是一个长连接 面向流的传输 传输速率比udp协议慢 数据安全不容易丢失 大文件算法自己拆包编号发送 建立连接的 三次握手 断开

python高级之网络编程

python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及其源码分析 1.网络通信概念 说到网络通信,那就不得不说TCP/IP协议簇的OSI七层模型了,这个东西当初在学校都学烂了...(PS:毕竟本人是网络工程专业出身...) 简单介绍下七层模型从底层到上层的顺序:物理层(定义物理设备的各项标准),数据链路层(mac地址等其他东西的封装),网络层(IP包头的的封装),传输层(TCP/UD

Python四大主流网络编程框架

目前Python的网络编程框架已经多达几十个,逐个学习它们显然不现实.但这些框架在系统架构和运行环境中有很多共通之处,本文带领读者学习基于Python网络框架开发的常用知识,及目前的4种主流Python网络框架:Django.Tornado.Flask.Twisted. 网络框架及MVC架构 所谓网络框架是指这样的一组Python包,它能够使开发者专注于网站应用业务逻辑的开发,而无须处理网络应用底层的协议.线程.进程等方面.这样能大大提高开发者的工作效率,同时提高网络应用程序的质量. 在目前Py

《Python学习之路 -- 网络编程》

在前面已经提到过,互联网的本质就是一堆协议,协议就是标准,比如全世界人通信的标准是英语,所有的计算机都学会了互联网协议,那么所有的计算机就可以按照统一的标准去收发信息完成通信了. 作为普通开发人员的我们,写的软件/程序都是处于应用层上的,然而,想要让软件接入互联网,就必须得通过传输层,也就是必须遵循TCP协议或者UDP协议.这是两个非常复杂的协议,如果遵循原生的协议,那么必然会大大降低效率,所以就有了socket抽象层的概念.socket是应用层与TCP/IP协议族通信的软件抽象层,它是一组接口

Python TCP通信网络编程

最近在看廖雪峰老师的基础教程(http://www.liaoxuefeng.com/),今天实现了一下简单Python的Socket的网络编程. 1. Socket网络编程 Socket是网络编程的一个抽象概念.通常我们用一个Socket表示“打开了一个网络链接”,而打开一个Socket需要知道目标计算机的IP地址和端口号,再指定协议类型即可. 2. 客户端 大多数连接都是可靠的TCP连接.创建TCP连接时,主动发起连接的叫客户端,被动响应连接的叫服务器.举个例子,当我们在浏览器中访问新浪时,我

Python实践之网络编程1-简单的网络请求程序

在了解python基础的语法基础上,就可以自由的去组合出自己需要各类高级功能. 由于python语言的特性,各类功能的实现都会非常快捷的. 网络变成就是python具备的高级特性之一. 需要进行网络编程首先需要了解几个模块urllib和urllib2 1.简单的访问请求 import sys,urllib,urllib2 url=input("please input the url:") url = "http://mail.126.com" #发起请求 req

python学习之网络编程基础

引入场景:客户与银行关系 银行职员负责给客户提供取钱服务,客户通过账户密码跟银行职员建立合作关系.此时银行职员就可以作为服务器,当用户A取完钱后他需要等待下一个用户的接入,用户的账号密码就是建立合作关系的凭据.------简单的客户端/服务器架构模型. 客户端/服务器网络编程过程 一:创建套接字(通信端点) AF_XXX解释:地址家族名称,AF:Address Family 基于文件套接字 AF_UNIX 基于网络套接字 AF_INET 代表ipv4  (python网络编程中常用的套接字)  

『Python』socket网络编程

Python3网络编程 '''无论是str2bytes或者是bytes2str其编码方式都是utf-8 str( ,encoding='utf-8') bytes( ,encoding='utf-8') 而在使用.encode('utf-8')时,虽然type类型是byte,但常常报错''' Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯. socket起源于UNIX,在Unix一切皆文

Python进阶之网络编程

网络通信 使用网络的目的 把多方链接在一起,进行数据传递: 网络编程就是,让不同电脑上的软件进行数据传递,即进程间通信: ip地址 ip地址概念和作用 IP地址是什么:比如192.168.1.1 这样的一些数字: ip地址的作用:用来在电脑中 标识唯一一台电脑,比如192.168.1.1:在本地局域网是唯一的. 网卡信息 查看网卡信息 Linux:ifconfig windows:ipconfig ensxx:用来与外部进行通信的网卡: lo:环回网卡,用来进行本地通信的: linux关闭/开启