Python:通过套接字在两台计算机之间发送数据 [英] Python: sending data between two computers via sockets

查看:0
本文介绍了Python:通过套接字在两台计算机之间发送数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在编写一个脚本,它将在两台可以访问互联网的不同计算机之间传输数据。我使用的是PYTHON的套接字标准模块。当我在一台计算机上同时运行客户端和服务器时,它运行得很好,但当它们运行在不同的计算机上时,我无法使它们工作。

以下是我的服务器代码的一部分:

import socket, time,os, random

class Server():
  def __init__(self,Adress=('',5000),MaxClient=1):
      self.s = socket.socket()
      self.s.bind(Adress)
      self.s.listen(MaxClient)
  def WaitForConnection(self):
      self.Client, self.Adr=(self.s.accept())
      print('Got a connection from: '+str(self.Client)+'.')


s = Server()
s.WaitForConnection()

以下是我的客户端代码的一部分:

import socket

class Client():
   def __init__(self,Adress=("Here is the IP of the computer on which the 
                                   server scrip is running",5000)):
      self.s = socket.socket()
      self.s.connect(Adress)

c = Client()
当我在两台可以访问互联网的不同计算机上运行这些脚本时,客户端无法连接并引发错误,服务器将永远等待连接。

我做错了什么?

推荐答案

这可能与您的代码无关,因为它看起来没有问题。我认为这是您正在使用的IP地址的问题。

如果计算机位于不同的网络上,则需要确保您传递的IP地址是网络可访问的IP地址。基本上,这意味着如果您使用的IP以192.168开头……?那么您使用的IP是错误的。

您可以通过运行以下命令轻松进行检查:
(Windows):IPCONFIG
(Linux):ifconfig

如果您使用的是正确的IP地址,则我会检查我的路由器设置和/或防火墙设置,它们很可能会阻止您尝试使用的端口号。

这篇关于Python:通过套接字在两台计算机之间发送数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆