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 相关文章推荐
Python编程之属性和方法实例详解
May 19 Python
python3获取两个日期之间所有日期,以及比较大小的实例
Apr 08 Python
Pyqt5如何让QMessageBox按钮显示中文示例代码
Apr 11 Python
python实现简单聊天室功能 可以私聊
Jul 12 Python
Python3并发写文件与Python对比
Nov 20 Python
pandas factorize实现将字符串特征转化为数字特征
Dec 19 Python
使用Python将Exception异常错误堆栈信息写入日志文件
Apr 08 Python
Django在Model保存前记录日志实例
May 14 Python
keras中模型训练class_weight,sample_weight区别说明
May 23 Python
Python的历史与优缺点整理
May 26 Python
Pycharm Available Package无法显示/安装包的问题Error Loading Package List解决
Sep 18 Python
Selenium浏览器自动化如何上传文件
Apr 06 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
全国FM电台频率大全 - 7 吉林省
2020/03/11 无线电
PHP Squid中可缓存的动态网页设计
2008/09/17 PHP
可以保证单词完整性的PHP英文字符串截取代码分享
2014/07/15 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
PHP按指定键值对二维数组进行排序的方法
2015/12/22 PHP
详谈PHP中public,private,protected,abstract等关键字的用法
2017/12/31 PHP
PHP面向对象程序设计之对象克隆clone和魔术方法__clone()用法分析
2019/06/12 PHP
javascript 匿名函数的理解(透彻版)
2010/01/28 Javascript
百度UEditor编辑器如何关闭抓取远程图片功能
2015/03/03 Javascript
jQuery给动态添加的元素绑定事件的方法
2015/03/09 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
Bootstrap3.0建站教程(一)之bootstrap表单元素排版
2016/06/01 Javascript
基于jquery实现多级菜单效果
2017/07/25 jQuery
js常见遍历操作小结
2019/06/06 Javascript
[56:46]2018DOTA2亚洲邀请赛 3.31 小组赛 B组 VP vs Effect
2018/04/01 DOTA
python元组操作实例解析
2014/09/23 Python
为什么选择python编程语言入门黑客攻防 给你几个理由!
2018/02/02 Python
基于python requests库中的代理实例讲解
2018/05/07 Python
解决pandas read_csv 读取中文列标题文件报错的问题
2018/06/15 Python
详解Python装饰器
2019/03/25 Python
pandas基于时间序列的固定时间间隔求均值的方法
2019/07/04 Python
python 计算概率密度、累计分布、逆函数的例子
2020/02/25 Python
Django media static外部访问Django中的图片设置教程
2020/04/07 Python
Python实现迪杰斯特拉算法并生成最短路径的示例代码
2020/12/01 Python
python中温度单位转换的实例方法
2020/12/27 Python
HealthElement海外旗舰店:新西兰大卖场
2018/02/23 全球购物
员工拾金不昧表扬信
2014/01/09 职场文书
测试工程师职业规划书
2014/02/06 职场文书
网络技术专业推荐信
2014/02/20 职场文书
《太阳》教学反思
2014/02/21 职场文书
农村产权制度改革实施方案
2014/03/21 职场文书
函授生自我鉴定
2014/03/25 职场文书
2014年员工工作总结范文
2014/11/18 职场文书
失职检讨书大全
2015/01/26 职场文书
2015年档案管理工作总结
2015/04/08 职场文书
62句有关感恩节文案(推荐收藏)
2019/11/28 职场文书