Python两台电脑实现TCP通信的方法示例


Posted in Python onMay 06, 2019

为了实现Nao机器人与电脑端的TCP通信,于是研究了一下Python实现TCP通信,在网上也看到了很多例子,但大多都是在一台机器上验证。在两台机器上使用,出了一些小故障。

注意:若两台电脑通信出了问题,若能ping通!大部分是防火墙的问题。一开始A做服务器,B做客户端能实现;B做服务器,A做客户端,A就不能连接到B。我换了一台电脑A就能实现通信了。应该是A的防火墙需要设置。但是A的防火墙全关了也不能实现。真是很让人搞不懂。

首先是服务器端代码:

# -*- encoding: utf-8 -*-
import socket
 
IP = "192.168.1.153" #服务器端可以写"localhost",可以为空字符串"",可以为本机IP地址
port = 40005 #端口号
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((IP,port))
s.listen(1)
print('listen at port :',port)
conn,addr = s.accept()
print('connected by',addr)
 
while True:
  data = conn.recv(1024)
  data = data.decode()#解码
  if not data:
    break
  print('recieved message:',data)
  send = raw_input('return:')#python27要写raw_input,python3.X可写input
  conn.sendall(send.encode())#再编码发送
 
 
conn.close()
s.close()

客户端代码:

# -*- encoding: utf-8 -*-
import socket
import sys
IP = '192.168.1.153' #填写服务器端的IP地址
port = 40005 #端口号必须一致
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
  s.connect((IP,port))
except Exception as e:
  print('server not find or not open')
  sys.exit()
while True:
  trigger = raw_input("send:")
  s.sendall(trigger.encode())
  data = s.recv(1024)
  data = data.decode()
  print('recieved:',data)
  if trigger.lower() == '1':#发送1结束连接
    break
s.close()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
数据清洗--DataFrame中的空值处理方法
Jul 03 Python
Python中矩阵创建和矩阵运算方法
Aug 04 Python
对Python3中列表乘以某一个数的示例详解
Jul 20 Python
解决python3 安装不了PIL的问题
Aug 16 Python
使用Python的datetime库处理时间(RPA流程)
Nov 24 Python
pytorch之ImageFolder使用详解
Jan 06 Python
tensorflow生成多个tfrecord文件实例
Feb 17 Python
Python操作Jira库常用方法解析
Apr 10 Python
python中format函数如何使用
Jun 22 Python
如何使用PyCharm引入需要使用的包的方法
Sep 22 Python
如何在scrapy中捕获并处理各种异常
Sep 28 Python
python基础之//、/与%的区别详解
Jun 10 Python
python3利用Socket实现通信的方法示例
May 06 #Python
75条笑死人的知乎神回复,用60行代码就爬完了
May 06 #Python
Python Flask 搭建微信小程序后台详解
May 06 #Python
Python玩转PDF的各种骚操作
May 06 #Python
使用Python和Prometheus跟踪天气的使用方法
May 06 #Python
Python中常用的8种字符串操作方法
May 06 #Python
基于python if 判断选择结构的实例详解
May 06 #Python
You might like
smarty模板局部缓存方法使用示例
2014/06/17 PHP
PHP对文件夹递归执行chmod命令的方法
2015/06/19 PHP
php生成验证码函数
2015/10/20 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
Jquery为a标签的href赋值实现代码
2013/05/03 Javascript
基于jquery css3实现点击动画弹出表单源码特效
2015/08/31 Javascript
JavaScript实现点击按钮切换网页背景色的方法
2015/10/17 Javascript
js读取并解析JSON类型数据的方法
2015/11/14 Javascript
Three.js快速入门教程
2016/09/09 Javascript
详解JavaScript中的六种错误类型
2017/09/21 Javascript
解决前后端分离 vue+springboot 跨域 session+cookie失效问题
2019/05/13 Javascript
Vue 动态添加路由及生成菜单的方法示例
2019/06/20 Javascript
vue插件--仿微信小程序showModel实现模态提示窗功能
2020/08/19 Javascript
[14:00]DOTA2国际邀请赛史上最长大战 赛后专访B神
2013/08/10 DOTA
[53:52]OG vs EG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
[45:18]完美世界DOTA2联赛循环赛 PXG vs IO 第二场 11.06
2020/11/09 DOTA
python正则表达式去掉数字中的逗号(python正则匹配逗号)
2013/12/25 Python
Python实现提取文章摘要的方法
2015/04/21 Python
Python实现的生成格雷码功能示例
2018/01/24 Python
python 杀死自身进程的实现方法
2019/07/01 Python
Python编写通讯录通过数据库存储实现模糊查询功能
2019/07/18 Python
Python爬虫 批量爬取下载抖音视频代码实例
2019/08/16 Python
Python使用Matlab命令过程解析
2020/06/04 Python
Python中有几个关键字
2020/06/04 Python
详解python的xlwings库读写excel操作总结
2021/02/26 Python
“型”走纽约上东区:Sam Edelman
2017/04/02 全球购物
DBA的职责都有哪些
2012/05/16 面试题
HR喜欢的自荐信格式
2013/10/08 职场文书
竞聘演讲稿精彩开头和结尾
2014/05/14 职场文书
2014年9.18纪念日演讲稿
2014/09/14 职场文书
升职自荐信怎么写
2015/03/05 职场文书
文艺节目主持词
2015/07/06 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
详解TS数字分隔符和更严格的类属性检查
2021/05/06 Javascript
MySql分区类型及创建分区的方法
2022/04/13 MySQL