一般的网络通信:

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. mysql5.7创建用户授权删除用户撤销授权

    一, 创建用户: 命令: CREATE USER 'username'@'host' IDENTIFIED BY 'password'; 说明:username - 你将创建的用户名, host - ...

  2. C结构体数组的应用

    #include <stdio.h> //定义结构体存储学生成绩信息 struct address_list{ ]; ]; ]; } info[]; void save(char *nam ...

  3. 将windows目录共享到linux

    1.将windows目录共享 2.安装cifs 3.  mount -t cifs -o username=电脑登陆用户名,password=电脑登陆用户密码 //127.0.0.1/abc /var ...

  4. 使用swift和rails来实现ios账号系统

    前不久看到这样一篇教程User Accounts on iOS with Ruby on Rails and Swift,里面描述了如何使用swift和rails来前后台配合来实现一个简单的类似twi ...

  5. pyspark RandomForestRegressor 随机森林回归

    #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Fri Jun 8 09:27:08 2018 ...

  6. 转 MySQL问题排查工具介绍

    原文链接: http://mrchenatu.com/2017/03/24/mysql-tool/ 本总结来自美团内部分享,屏蔽了内部数据与工具 知识准备 索引 索引是存储引擎用于快速找到记录的一种数 ...

  7. 基础004_V7-DSP Slice

    主要参考ug479.pdf.之前的文章:FIR调用DSP48E_05.本文主要记录基本用法. 一.DSP48核 A-参数说明 instrctions,多个功能,通过sel选用 目前没发现C勾选与否,有 ...

  8. apiDoc自动生成api文档

    在自定生成api文档方面以前都是使用swagger.json结合swagger工具来生成文档,偶然发现了apidoc这个生成api的工具,发现使用起来比swagger更加简单,下面整理一下使用过程: ...

  9. idea自动编译

    idea修改后台代码自动编译 On 'update' action = Update classes and resources On frame deactivation = Update clas ...

  10. 关于 NSInvocation

    Invocation   调用的意思. 可想而知NSInvocation 是一个 方法调用 封装的类. 这体现了  面向对象的思想, 及一切皆对象.函数也不例外. 一般编程中,应该很少用到这个. 但是 ...