【发布时间】:2019-05-12 00:47:56
【问题描述】:
我正在用 Python 做 p2p 聊天应用程序。有一个错误 客户端的“message = inputt [1]”。由于这个错误,当我想发送消息时,程序会打印“你必须写下你的名字”
我不知道如何解决,因为我不明白错误的逻辑。如果我能解释为什么会出现此错误以及解决方案,那就太好了。
import socket
import json
import time
import threading
import datetime
onlineUsers = dict()
while True:
message = input()
if(message=='list'):
print('ONLINE USERS...')
for key in onlineUsers:
print(key)
else:
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
port=5001
try:
inputArray = message.split(':',1)
# 0=username 1=message
username=inputArray[0]
message=inputArray[1]
ip=onlineUsers[username]
s.connect((ip, port))
s.sendall(message)
except:
print("You must write your name <name: message >")
s.close()
【问题讨论】:
-
print(inputArray)的输出是什么? -
我写了“这是一个测试”作为消息,输出是“['这是一个测试']”
-
知道了,谢谢@buchic,看看我下面的回答对你有没有帮助!
-
非常感谢@DeveshKumarSingh 的努力。其实我还有几个问题。我通过 LinkedIn 给你发了短信。你能检查一下吗?
-
太棒了!很高兴能帮上忙:)如果对您有帮助,请标记已接受的答案@buchic :)
标签: python python-3.x network-programming tcpclient p2p