python socket 函数介绍
socket
函数原型:socket.socket([family[,type[,proto]]])
family参数取值(协议族):
socket.AF_INET -->ipv4协议
socket.AF_INET6 -->ipv6协议
type参数取值:
SOCK_STREAM -->tcp协议相互通信在所有数据传送前必须使用connect()来建立连线状态.
SOCK_DGRAM -->udp协议相互通信
sendto
函数原型:socket.sendto(string,address)
发送字符创string到address指定的主机。
string:用来发送的字符创
address:是一个元组,需要指定ip地址和端口号
recvfrom
函数原型:socket.recvfrom(bufsize[,flags])
用来从网络上接受UDP数据包,并将接受到的数据存放在buffsize定义的内存空间里边,一般不小于1024字节,发送的字节一般都小于1024字节。
tcp传输实例
#socket_send.py
#client
#!/usr/bin/env python
#coding:GBK
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.sendto('Hello world',('10.74.84.186',9999))
data = s.recv(1024)
print 'received sendback:',data
s.close()
#socket_recv.py
#server
#!/usr/bin/env python
#coding=GBK
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.bind(('',9999))
s.listen(5)
clientsock, clientaddr = s.accept()
data = clientsock.recv(1024)
print 'received message:',data
clientsock.send(data + "-收到")
clientsock.close()
send端报错
root@liqian-python:/pythonsamba# python socket_tcp.py
Traceback (most recent call last):
File "socket_tcp.py", line 4, in <module>
s.sendto('Hello world',('10.74.84.186',9999))
socket.error: [Errno 32] Broken pipe
原因:SOCK_STREAM是提供双向连续且可信赖的数据流,即TCP,在所有数据传送前必须使用connect()来建立连线状态。
python代码实现解决方案
#socket_send.py
#!/usr/bin/env python
#coding:GBK
import socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect(('10.74.84.186',9999))
s.send('Hello world')
data = s.recv(1024)
print 'received sendback:',data
s.close()
python socket 函数介绍的更多相关文章
- python strip()函数 介绍
python strip()函数 介绍,需要的朋友可以参考一下 函数原型 声明:s为字符串,rm为要删除的字符序列 s.strip(rm) 删除s字符串中开头.结尾处,位于 rm删除 ...
- OVERLAPPED相关的socket函数介绍
OVERLAPPED相关的socket函数介绍 上一篇文章介绍了<Windows核心编程>OVERLAPPED结构与内核对象IOCompletionPort相关概念,见http://www ...
- socket()函数介绍
socket()函数介绍 socket函数介绍 函数原型 domain type protocol errno 示例 函数原型 socket()函数的原型如下,这个函数建立一个协议族为domain.协 ...
- (转)python之函数介绍及使用
为什么要用函数? 1.减少代码量 2.保持一致性 3.易维护 一.函数的定义和使用 ? 1 2 3 4 5 6 def test(参数): ... 函数体 . ...
- python socket 详细介绍
Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络 ...
- python socket函数详解
关于socket函数,每个的意义和基本功能都知道,但每次使用都会去百度,参数到底是什么,返回值代表什么意义,就是说用的少,也记得不够精确.每次都查半天,经常烦恼于此.索性都弄得清楚.通透,并记录下来, ...
- Python Socket详细介绍
Socket 类型 套接字格式: socket(family,type[,protocal]) 使用给定的地址族.套接字类型.协议编号(默认为0)来创建套接字. socket类型 描述 socket. ...
- 移动端自动化测试(二)之 Appium常用的API(python)函数介绍
上一章节已经介绍了Appium的环境搭建,其实只要掌握了Appium的工作原理,前期的准备工作和安装过程是比较简单的.那么当我们搭建好Appium环境后接下来做些什么呢?通常思路是开始appium的第 ...
- python的函数介绍 位置参数 关键字参数 默认参数 参数组 *args **kwargs
1.数学意义的函数与python中的函数 数学意义的函数 y = 2*3+1 x =3 y =7 x是自变量,y是因变量 2.python中定义函数的方法 一个函数往往都是为了完成一个特定的功能而存在 ...
随机推荐
- 安卓constraintLayout中app:srcCompat设置的图片显示不出来
使用 app:srcCompat 的时候 引入的图片显示不出来的解决方案 首先查看的你的Activity 继承的是那个Activity 如果是继承AppcompatActivity 使用 Image ...
- 多路径multipath配置,udev绑定
多路径multipath配置 以root用户登录 1.查看共享磁盘是否挂载成功 #fdisk -l 2.生成配置文件 #mpathconf --enable 修改配置文件权限 #chmod 644 / ...
- Dynamic networks | 动态网络
Dynamic networks reveal key players in aging 系统生物学中的网络分析 网络的拓扑结构:topological properties, 网络的度:whole ...
- 20190319xlVBA_根据考勤数据统计缺勤缺考数据
Sub SubtotalPickFile() Dim StartTime As Variant Dim UsedTime As Variant StartTime = VBA.Timer Dim fi ...
- webpack不同版本导致的promise不存在问题
之前采用的axios是基于promise的,但是IE并没有内置promise,所以要提前install一个promise插件: npm install promise import Promise f ...
- SQL SERVER 触发器之After,Instead of
[Ater](同for)先执行增删改操作,再执行触发器操作 [Instead of]直接只执行触发器里的 create trigger triggername on table_name for/af ...
- VersionControl:git
关于VersionControl VersionControl即版本控制,版本控制是一种记录文件或文件集随时间变化的系统,以便以后可以查阅调用特定版本,版本控制系统不仅可以应用于软件源代码的文本文件, ...
- Android 音视频深入 七 学习之路的总结和资料分享
说个实话一开始我对基于Android如何开发音视频很迷茫,甚至对音视频开发都不是很明白,我看了Android 音视频开发入门指南 http://blog.51cto.com/ticktick/1956 ...
- 【转载】Java Restful API 文档生成工具 smart-doc
谁说生成api文档就必须要定义注解? 谁说生成接口请求和返回示例必须要在线? 用代码去探路,不断尝试更多文档交付的可能性. 如果代码有生命,为什么不换种方式和它对话! 一.背景 没有背景.就自己做自己 ...
- keras 实现人工神经网络
#encoding=utf-8 import numpy as np from keras.models import Sequential from keras.layers import Dens ...