解决方案

解决方案

我想让一个python脚本在局域网服务器的套接字上运行。我编写了一个猜数字脚本,我想让它在套接字上运行,以便其他客户端通过连接到端口(例如 1234)来使用它。我知道可以通过 python 的套接字编程来实现这一点。但这个问题是要问为什么会失败?

ncat 192.168.0.108 -lvp 1234 -e /usr/bin/python3.5 number_game.py

剧本:

#!/usr/bin/python3.5
import random
num=random.randint(1,20)
flag=0
print("Welcome to the game...")
for i in range(1,7):
    print("Take a guess")
    guess=int(input())
    if guess > num:
        print("Way too high")
    else:
        if guess < num:
            print("Way too low")
        else:
            flag=1
            break;
if flag == 1:
    print("You made it in "+str(i)+" attempts")
else:
    print("better luck next time")

错误:

Ncat: Version 7.31 ( https://nmap.org/ncat ) Ncat: Got more than one port specification: 1234 number_game.py. QUITTING.

答案1

解决方案

您正在尝试侦听端口,并同时1234使用该 IP 连接到计算机。192.168.1.108

你不能这样做,你要么使用这个来监听连接:

ncat -lvp 1234 -e "/usr/bin/python3.5 number_game.py"`

或者您使用以下命令启动与所需计算机的连接:

ncat -v -e "/usr/bin/python3.5 number_game.py" 192.168.0.108 1234

笔记

当您使用ncat(或nc) 发起连接时,您必须保留IP(或hostname) 和port最后一个参数。

查看ncat手册中的概要:ncat [OPTIONS...] [hostname] [port]

相关内容