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的汉字转GBK码实现代码
Feb 19 Python
Python内置函数Type()函数一个有趣的用法
Feb 18 Python
Python类定义和类继承详解
May 08 Python
python操作redis的方法
Jul 07 Python
Scrapy框架CrawlSpiders的介绍以及使用详解
Nov 29 Python
Python用sndhdr模块识别音频格式详解
Jan 11 Python
sublime python3 输入换行不结束的方法
Apr 19 Python
django2+uwsgi+nginx上线部署到服务器Ubuntu16.04
Jun 26 Python
在python tkinter中Canvas实现进度条显示的方法
Jun 14 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
python3中rank函数的用法
Nov 27 Python
python pymysql库的常用操作
Oct 16 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
《OVERLORD》第四季,终于等到你!
2020/03/02 日漫
利用文件属性结合Session实现在线人数统计
2006/10/09 PHP
PHP判断FORM表单或URL参数来的数据是否为整数的方法
2016/03/25 PHP
php获取flash尺寸详细数据的方法
2016/11/12 PHP
PHP利用Cookie设置用户30分钟未操作自动退出功能
2017/07/03 PHP
Avengerls vs Newbee BO3 第一场2.18
2021/03/10 DOTA
Tab页界面,用jQuery及Ajax技术实现
2009/09/21 Javascript
jquery 图片轮换效果
2010/07/29 Javascript
javascript for循环从入门到偏门(效率优化+奇特用法)
2012/08/01 Javascript
js实现快速分享功能(你的文章分享工具)
2013/06/25 Javascript
JavaScript全排列的六种算法 具体实现
2013/06/29 Javascript
深入理解JavaScript系列(36):设计模式之中介者模式详解
2015/03/04 Javascript
JavaScript中setTimeout的那些事儿
2016/11/14 Javascript
bootstrap table实现单击单元格可编辑功能
2017/03/28 Javascript
BootStrap Table 后台数据绑定、特殊列处理、排序功能
2017/05/27 Javascript
详解webpack 最简打包结果分析
2019/02/20 Javascript
深入浅出了解Node.js Streams
2019/05/27 Javascript
JavaScript实现表单验证功能
2020/12/09 Javascript
python解析xml文件操作实例
2014/10/05 Python
在Python中操作字典之setdefault()方法的使用
2015/05/21 Python
python 识别图片中的文字信息方法
2018/05/10 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
用css3实现当鼠标移进去时当前亮其他变灰效果
2014/04/08 HTML / CSS
Mytheresa英国官网:拥有160多个奢侈品品牌
2016/10/09 全球购物
美国时尚孕妇装品牌:A Pea in the Pod
2017/07/16 全球购物
Perfumetrader荷兰:香水、化妆品和护肤品在线商店
2017/09/15 全球购物
业务员岗位职责范本
2013/12/15 职场文书
中国好声音广告词
2014/03/18 职场文书
火锅店的活动方案
2014/08/15 职场文书
先进工作者申报材料
2014/12/23 职场文书
打架检讨书范文
2015/01/27 职场文书
个人年终总结结尾
2015/03/06 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
祝酒词范文
2015/08/12 职场文书
Python Django ORM连表正反操作技巧
2021/06/13 Python
MySQL如何使备份得数据保持一致
2022/05/02 MySQL