一般的网络通信:

Python中利用socket模块实现网络主机间通讯:

socket.socket(family,type)

family:套接字类型

AF_INET

AF_UNIX

type:

STREAM:tcp 流式

SOCK_DGRAM:udp 用户数据报

基于TCP服务端编程:

第一步:建立套接字对象:

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

第二步:绑定地址

使用套接字对象的bind方法绑定与某地址和端口

tcpconn.bind((‘ip’,port))

tcpconn.bind(('192.168.2.168',8089))

第三步:使用listen方法进行监听

tcpconn.listen(backlog)

tcpconn.listen(100)

第四步:循环监听状态

使用套接字对象的accept方法接收用户请求

ci,cp = tcpconn.accept()

返回套接字对象和元组

编写客户端程序:

第一步,创建socket对象以连接服务器端

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

第二步:

clientsock.connect((‘server_ip’,port))

clientsock.connect((‘192.168.2.168’,8089))

第三步:发送请求

clientsock.send()

一个简单的服务端和客户端编程的实现:

服务端:mysocket.py

#!/usr/local/bin/python
import socket
tcpconn = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_addr = ('192.168.2.168',8089)
tcpconn.bind(server_addr)
tcpconn.listen(20)
while True:
cinfo,caddr = tcpconn.accept()
print "Got a connect from %s" % caddr[0]
data = cinfo.recv(1024)
print "Receive data:%s" % data
cinfo.send("My is server,your data is "+ data)
cinfo.close()

客户端:csocket.py

#!/usr/local/bin/python
import socket
tcpconn = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
server_addr = ('192.168.2.168',8089)
tcpconn.bind(server_addr)
tcpconn.listen(20)
while True:
cinfo,caddr = tcpconn.accept()
print "Got a connect from %s" % caddr[0]
data = cinfo.recv(1024)
print "Receive data:%s" % data
cinfo.send("My is server,your data is "+ data)
cinfo.close()

Python(九)之网络编程的更多相关文章

  1. python高级之网络编程

    python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及其源码分析 1.网络通信概念 说 ...

  2. 第六篇:python高级之网络编程

    python高级之网络编程   python高级之网络编程 本节内容 网络通信概念 socket编程 socket模块一些方法 聊天socket实现 远程执行命令及上传文件 socketserver及 ...

  3. Python之路 - 网络编程之粘包

    Python之路 - 网络编程之粘包 粘包

  4. Python之路 - 网络编程初识

    Python之路 - 网络编程初识 前言

  5. python进阶九_网络编程

    Python网络编程一 一.一些基本概念 在Python网络编程这一节中会涉及到非常多网络相关的术语.对于一些最主要的概念,如TCP/IP,Socket等等不再赘述,不明确的能够自己去查一查,对于一些 ...

  6. Python 基础之----网络编程

    阅读目录 一 客户端/服务端架构 二 osi七层 三 socket层 四 socket是什么 五 套接字发展史及分类 六 套接字工作流程 七 基于TCP的套接字 八 基于UDP的套接字 九 粘包现象 ...

  7. python之路-----网络编程

    一:客户端/服务端j架构(C/S架构) 在生活中,最常见的C/S架构即是APP和网页服务器这个架构.Client和Server之间利用网络来进行通信,客户端和服务器端的程序不同,用户的程序主要在客户端 ...

  8. python之Socket网络编程

    什么是网络? 网络是由节点和连线构成,表示诸多对象及其相互联系.在数学上,网络是一种图,一般认为专指加权图.网络除了数学定义外,还有具体的物理含义,即网络是从某种相同类型的实际问题中抽象出来的模型.在 ...

  9. 【循序渐进学Python】15.网络编程

    Python 内置封装了很多常见的网络协议的库,因此Python成为了一个强大的网络编程工具,这里是对Python的网络方面编程的一个简单描述. 1. 常用的网络设计模块 在标准库中有很多网络设计相关 ...

  10. python 之socket 网络编程

    socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. socket起源于Un ...

随机推荐

  1. Oslo 相机 App

    https://itunes.apple.com/cn/app/osho/id1203312279?mt=8.它支持1:1,4:3,16:9多种分辨率拍摄,滤镜可在取景框的实时预览,拍摄过程可与滤镜实 ...

  2. PCRE函数简介和使用示例【转】

    PCRE函数简介和使用示例 标签: 正则表达式listbuffercompilationnullperl 原文地址:http://blog.csdn.net/sulliy/article/detail ...

  3. 微信支付HTTPS服务器证书验证指引

    1. 背景介绍 2. 常见问题 3. 验证证书 4. 安装证书 背景介绍 微信支付使用HTTPS来保证通信安全, 在HTTPS服务器上部署了由权威机构签发的证书, 用于证明微信支付平台的真实身份. 商 ...

  4. MySQL慢查询mysqlsla

    转:http://www.osyunwei.com/archives/7659.html 必须在MySQL服务器上安装mysqlsla 1.mysqlsla是perl编写的脚本,运行mysqlsla需 ...

  5. Nginx https证书部署

    1 获取证书 Nginx文件夹内获得SSL证书文件 1_www.domain.com_bundle.crt 和私钥文件 2_www.domain.com.key,1_www.domain.com_bu ...

  6. android 蓝牙编程重点---如何发送和接收16进制数据

    最近的android蓝牙开发项目也逐渐接近尾声,基本的功能都已经完成,只剩下界面的设计.现在真的是舒了一口气! 作为编程学习经验只有1年的菜鸟,这是我独自完成的商业性产品,而且还是涉及到与单片机蓝牙模 ...

  7. Android帧布局<TabHost>标签

    先贴上一段代码: main.xml: <p><?xml version="1.0" encoding="utf-8"?> <Tab ...

  8. [转]Greenplum 资源隔离的原理与源码分析

    摘要: 背景 Greenplum是一个MPP的数据仓库系统,最大的优点是水平扩展,并且一个QUERY就能将硬件资源的能力发挥到极致. 但这也是被一些用户诟病的一点,因为一个的QUERY就可能占光所有的 ...

  9. 阮一峰 IaaS,PaaS,SaaS 的区别

    链接: IaaS,PaaS,SaaS 的区别 作者: 阮一峰 日期: 2017年7月23日 越来越多的软件,开始采用云服务. 云服务只是一个统称,可以分成三大类. IaaS:基础设施服务,Infras ...

  10. GitHub创始人:我如何放弃30万美元年薪创业

    GitHub创始人:我如何放弃30万美元年薪创业 本文摘自GitHub创始人Tom Preston Werner个人博客. 时间还在2007年,我一个人独坐旧金山的Zeke 体育酒吧内.其实我并不经常 ...