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抓取网页正文的源码
Jun 11 Python
Python常见数据结构详解
Jul 24 Python
Python Web框架Flask信号机制(signals)介绍
Jan 01 Python
Python中isnumeric()方法的使用简介
May 19 Python
Python学习之Anaconda的使用与配置方法
Jan 04 Python
python with提前退出遇到的坑与解决方案
Jan 05 Python
python  Django中的apps.py的目的是什么
Oct 15 Python
python变量的存储原理详解
Jul 10 Python
基于django传递数据到后端的例子
Aug 16 Python
Python操作qml对象过程详解
Sep 26 Python
python logging设置level失败的解决方法
Feb 19 Python
使用OpenCV获取图像某点的颜色值,并设置某点的颜色
Jun 02 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
php数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
Laravel框架学习笔记(一)环境搭建
2014/10/15 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
分享PHP-pcntl 实现多进程代码
2016/09/30 PHP
浅析javascript闭包 实例分析
2010/12/25 Javascript
使用Jquery来实现可以输入值的下拉选单 雏型
2011/12/06 Javascript
JS控制图片翻转示例代码(兼容firefox,ie,chrome)
2013/12/19 Javascript
JavaScript静态类型检查工具FLOW简介
2015/01/06 Javascript
vue动态改变背景图片demo分享
2018/09/13 Javascript
layui多iframe页面控制定时器运行的方法
2019/09/05 Javascript
layui动态渲染生成左侧3级菜单的方法(根据后台返回数据)
2019/09/23 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
vscode 使用Prettier插件格式化配置使用代码详解
2020/08/10 Javascript
解决在Vue中使用axios POST请求变成OPTIONS的问题
2020/08/14 Javascript
在Python程序中操作文件之isatty()方法的使用教程
2015/05/24 Python
Python中matplotlib中文乱码解决办法
2017/05/12 Python
Python3实战之爬虫抓取网易云音乐的热门评论
2017/10/09 Python
Python语言描述机器学习之Logistic回归算法
2017/12/21 Python
python 脚本生成随机 字母 + 数字密码功能
2018/05/26 Python
python实现图片筛选程序
2018/10/24 Python
实例讲解Python3中abs()函数
2019/02/19 Python
Python的bit_length函数来二进制的位数方法
2019/08/27 Python
Selenium启动Chrome时配置选项详解
2020/03/18 Python
在Anaconda3下使用清华镜像源安装TensorFlow(CPU版)
2020/04/19 Python
python 如何设置守护进程
2020/10/29 Python
Django自定义YamlField实现过程解析
2020/11/11 Python
html5的画布canvas——画出弧线、旋转的图形实例代码+效果图
2013/06/09 HTML / CSS
Adobe Html5 Extension开发初体验图文教程
2017/11/14 HTML / CSS
速卖通欧盟:Aliexpress EU
2020/08/19 全球购物
工程现场管理求职自荐信
2013/10/02 职场文书
作文评语集锦大全
2014/04/23 职场文书
校园活动策划方案
2014/06/13 职场文书
难以忽视的真相观后感
2015/06/05 职场文书
2015年幼儿园班主任个人工作总结
2015/10/22 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
Python如何快速找到多个字典中的公共键(key)
2022/04/29 Python