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中定义函数的方法 一个函数往往都是为了完成一个特定的功能而存在 ...
随机推荐
- Bytom合约预编译
比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom 在开发合 ...
- c语言cJson数组生成与解析
1.生成 json char* CreatJsCustNo( BT_BNF_CUST *p, char *strPaperNO) { cJSON *pJsonArry,*pJsonsub; pJson ...
- SQL Server 2008 分区函数和分区表详解
[摘要]本文详细介绍SQL Server 2008 分区函数和分区表,包括查询某个分区.归档数据.添加分区.删除分区等内容. 当我们数据量比较大的时候,我们需要将大型表拆分为多个较小的表,则只访问部门 ...
- mysql查看配置生效
mysql> show status like 'Threads%';+-------------------+-------+| Variable_name | Value |+--- ...
- python __init__.py 的作用
__init__.py的主要作用是: . Python中package的标识,不能删除 . 定义__all__用来模糊导入 . 编写Python代码(不建议在__init__中写python模块,可以 ...
- python几种常见的模块安装方法
1. 在线安装 1.1 在命令提示符中运行 pip install package_name 指令 注:具体前置步骤和教程:http://www.cnblogs.com/jfl-xx/p/72895 ...
- Quartz的时间配置
在公司要开发一个定时任务, 使用的quartz库, 其中的时间配置方式如下: 格式: [秒] [分] [小时] [日] [月] [周] [年] 序号 说明 是否必填 允许填写的值 允许的通配符 1 秒 ...
- VLC的一些接口
其他参考链接: 1.https://www.cnblogs.com/smartsensor/p/4343769.html ======================================= ...
- 获取GitHub上远程分支内容
一.clone项目 二.获取远程特定分支的内容 1.查看所有分支 git branch --all # 默认有了ls和master分支,所以会看到如下三个分支 # master[本地主分支] orig ...
- decltype typename
decltype((variable))总是引用类型,但是decltype(variable)只有当variable是引用类型时才是引用类型. #include <iostream> #i ...