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中定义函数的方法 一个函数往往都是为了完成一个特定的功能而存在 ...
随机推荐
- Selenium的使用
https://blog.csdn.net/qq_21445981/article/details/78386699 https://blog.csdn.net/duzilonglove/articl ...
- python 字典与json的区别
json:是一种数据格式,是纯字符串.可以被解析成Python的dict或者其他形式. dict:是一个完整的数据结构,是对Hash Table这一数据结构的一种实现,是一套从存储到提取都封装好了的方 ...
- word->excel数据处理
朋友发来一个word文件,里面的数据没有分割,想分割后放到excel统计 通常遇到这种数据,首先想到每一列数据有没有什么特征 类似这种数据,一种办法是按位数截取,mid函数,或者按第一次出现数字的方式 ...
- Scale Free Network | 无标度网络
在看WGCNA的时候看到的一个术语. 先来看一个随机网络:没有中心节点,大部分节点都均匀的连在一起. 再看一下scale free network:大部分的连接都集中在少数的中心 如何检验一个网络是否 ...
- HTTP安全通信:Https和SSL
1. HTTPS概念 1)简介 HTTPS(全称:Hypertext Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HT ...
- Codeforces Beta Round #19C. Deletion of Repeats
题意:给一个数组,每次会删去连续重复两次的左侧部分及前面,有多个重复部分找长度最小和最靠左的部分,重复的数字最多10次 题解:根据重复数字只有10次,我们离散化后,以每两个相同数字作为起点能确定这重复 ...
- ORA错误总结
ORA-12560 协议适配器错误 可能是以下原因: 1:服务没有开启(oracle的服务,oraclehome92TNSlistener) 2:数据库实例没有开启(oracleserviceORCL ...
- java 常见语法,但是发现switch等基础,常见面试套路不会了,待补充
1,面向对象,万物皆对象,面向对象的三个基本特性:封 装,继承,多态. 面向对象的程序都是由类组成,类封装了对象的属性和行为. 封装:隐藏对象的属性和实现细节,仅对外提供接口. 继承:实现代码复用,将 ...
- Oracle DB 使用RMAN恢复目录
• 对恢复目录和RMAN 资料档案库控制文件的使用进行比较• 创建和配置恢复目录• 在恢复目录中注册数据库• 同步恢复目录• 使用RMAN 存储脚本• 备份恢复目录• 创建虚拟专用目录 RMAN 资料 ...
- FastJSON 后端返回Long型 前段精度丢失的问题
解决方法就是将Long型转换为字符串---全局配置方案如下: @Override public void configureMessageConverters(List<HttpMessageC ...