Python Socket通信例子
一、TCP 通信
- 服务端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# server_tcp.py import socket so = socket.socket()
so.bind(('127.0.0.1', 8080))
so.listen() while True:
conn, addr = so.accept() while True:
ret = conn.recv(1024).decode('utf-8')
print(ret)
if ret == 'bye':
break
msg = input("请输入<<< ")
if msg == 'bye':
conn.send(b'bye')
break conn.send(bytes(msg, encoding='utf-8')) conn.close() so.close()
- 客户端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# client_tcp.py import socket so = socket.socket()
so.connect(('127.0.0.1', 8080)) while True:
msg = input("请输入<<< ")
if msg == 'bye':
so.send(b'bye')
break
so.send(bytes(msg, encoding='utf-8'))
ret = so.recv(1024).decode('utf-8')
print(ret)
if ret == 'bye':
break
二、UDP通信
- 服务端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# server_udp.py import socket so = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
so.bind(('127.0.0.1', 8080)) while True:
ret, addr = so.recvfrom(1024)
print(ret.decode('utf-8'), addr) msg = input("请输入<<< ")
so.sendto(bytes(msg, encoding='utf-8'), addr) so.close()
- 客户端
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# client_udp.py import socket so = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
ip_port = ('127.0.0.1', 8080) while True:
msg = input("请输入<<< ")
if msg == 'bye':
so.sendto(b'bye', ip_port)
break
so.sendto(bytes(msg, encoding='utf-8'), ip_port)
ret, addr = so.recvfrom(1024)
print(ret.decode('utf-8'), addr)
if ret == 'bye':
break so.close()
Python Socket通信例子的更多相关文章
- Python Socket通信原理
[Python之旅]第五篇(一):Python Socket通信原理 python Socket 通信理论 socket例子 摘要: 只要和网络服务涉及的,就离不开Socket以及Socket编 ...
- python - socket通信笔记
参考: 通过编写聊天程序来熟悉python中多线程和socket的用法:https://www.cnblogs.com/mingjiatang/p/4905395.html python socket ...
- Python socket 通信功能简介
常用的地址家族AF_UNIX:基于文件,实现同一主机不同进程之间的通信AF_INET:基于网络,适用于IPv4AF_INET6:基于网络,使用于IPv6 常见的连接类型SOCK_STREAM:即TCP ...
- Python Socket通信黏包问题分析及解决方法
参考:http://www.cnblogs.com/Eva-J/articles/8244551.html#_label5 1.黏包的表现(以客户端远程操作服务端命令为例) 注:只有在TCP协议通信的 ...
- Python socket通信之FTP
Python中利用socket进行server端和client端通信是网络编程的基础,是最简单的传输范例. (懂网络的请自动跳过这一部分) 首先,要想通信,必须建立连接,建立连接的过程,需要clien ...
- java的Socket通信例子及关于java.net.SocketException: Socket is closed错误
今天写socket数据相互通信的时候,碰到一个及其蛋疼的错误.单向传输数据的时候server与client是没有问题的,但是两个都有输入输出操作的时候就出现了这个问题 java.net.SocketE ...
- 树莓派小车By 树莓派爱好者ITJoker(通过python socket通信实现树莓派视频小车)(一)
本文由树莓派爱好者ITJoker 编辑,转载请注明出处.本人也有新浪博客同样是树莓派爱好者ITJoker 所需材料:树莓派2B或者2B以上,L2985n驱动板,若干排线,电池及电池盒,usb无线网卡( ...
- Socket通信例子
Server端 using System; using System.Collections.Generic; using System.ComponentModel; using System.Da ...
- Python Socket 通信
参考: http://www.cnblogs.com/alex3714/articles/5830365.html Socket A network socket is an endpoint of ...
随机推荐
- [破解] nasca drm file -ver1.00
在使用nasca系统中的下载相应的文件时,默认下载会被Nasca加密,可以通过下面的方式进行免除加密. 首先我们需要了解没有加密系统的默认下载过程: 当下载文件33333333333.pdf时,由于文 ...
- maven子项目的springboot配置
正常来说一个maven子项目的parent是父项目,而不是直接继承,这时候就需要改下配置 默认生成的代码入下: <?xml version="1.0" encoding=&q ...
- [No0000103]JavaScript-基础课程3
在 JavaScript 中,函数的参数是比较有意思的,比如,你可以将任意多的参数传递给一个函数,即使这个函数声明时并未制定形式参数 function adPrint(str, len, option ...
- [No0000E5]C# 运算符
运算符是一种告诉编译器执行特定的数学或逻辑操作的符号.C# 有丰富的内置运算符,分类如下: 算术运算符 关系运算符 逻辑运算符 位运算符 赋值运算符 其他运算符 算术运算符 运算符:A=10,B=20 ...
- Oracle 变量之 DDL_LOCK_TIMEOUT
DDL_LOCK_TIMEOUTProperty DescriptionParameter type IntegerDefault value 0Modifiable ALTER SESSIONRan ...
- struts2 中 paramsPrepareParamsStack 拦截器
struts2二次参数拦截器内容: 规定了请求的执行顺序 在struts2中,其拦截器为框架精华部分,而二次参数拦截器paramsPrepareParamsStack 对于解决数据回显,对象修改属性 ...
- ORA-01950: no privileges on tablespace XXX
原因是该表空间没有为用户提供配额空间 alter user WANGGUAN quota unlimited on TS_ACCT_DAT_01; 在表空间中为该用户设置磁盘配额即可
- idea出现无效的源发行版:11
idea启动的时候报错: 点击->file->project structure->project
- 2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算
2017-2018-2 20165225『Java程序设计』课程 结对编程练习_四则运算 需求分析: 支持整数,可进行多运算符运算,有优先级. 设计思路: 在有括号的情况下,先计算得出括号中的结果,如 ...
- VB改写C#
1.VB的Val()函数 先从程序集中引入Microsoft.VisualBasic命名空间.不过,即便是引入了Microsoft.VisualBasic命名空间,还是不能直接使用像Val()这样的函 ...