首页 > 解决方案 > 为什么我无法从线程聊天中获取文本?

问题描述

该程序允许您根据您设置的语言翻译对方发送的消息。

#server

from socket import *
from threading import *
import googletrans

translator=googletrans.Translator()

def serverRecv(language):
    while True:
        clientMsg=connectionSocket.recv(1024)
        result=translator.translate("상대방",dest=language)
        msg=translator.translate(clientMsg.decode("utf8"),dest=language)
        print("["+result.text+"]"+msg.text+"\n")

def select_lan():
    language=input("사용 언어 - 1.한국어 2.English 3.日本語 4.汉语: ")
    
    if language=="1":
        return 'ko'
    elif language=="2":
        return 'en'
    elif language=="3":
        return 'ja'
    elif language=="4":
        return 'zh-tw'

print("서버 네트워크 연결 초기화.....")

serverPort=9000
serverSocket=socket(AF_INET,SOCK_STREAM)

serverSocket.bind(('',serverPort))
serverSocket.listen(1)
connectionSocket,addr=serverSocket.accept()
print("클라이언트 연결됨...", addr,"\n")

lan=select_lan()

Thread(target=serverRecv(lan)).start()

while True:
    msg=input()
    connectionSocket.send(msg.encode("utf8"))

connectionSocket.close()
#client

from socket import *
from threading import *
import googletrans

translator=googletrans.Translator()

def clientRecv(language):
    while True:
        serverMsg=clientSocket.recv(1024)
        result=translator.translate("상대방",dest=language)
        msg=translator.translate(serverMsg.decode("utf8"),dest=language)
        print("["+result.text+"]"+msg.text+"\n")

def select_lan():
    language=input("사용 언어 - 1.한국어 2.English 3.日本語 4.汉语: ")
    
    if language=="1":
        return 'ko'
    elif language=="2":
        return 'en'
    elif language=="3":
        return 'ja'
    elif language=="4":
        return 'zh-tw'

print("클라이언트 네트워크 연결 초기화.....")
serverName='127.0.0.1'
serverPort=9000
clientSocket=socket(AF_INET,SOCK_STREAM)

clientSocket.connect((serverName,serverPort))
print("서버 연결됨...\n")

lan=select_lan()

Thread(target=clientRecv(lan)).start()

while True:
    msg=input()
    clientSocket.send(msg.encode("utf8"))

clientSocket.close()

它们相互连接并且选择了每种语言,但是下一个问题。输入的信息不输出给对方,出现如下错误信息。

Hi : 术语“Hi”不能识别为 cmdlet、函数、脚本文件或可执行程序名称。确保名称正确,验证路由是否正确,如果包含路由,请重试。定位线:1:1。文本1。

标签: pythonmultithreadingchattranslategoogle-translation-api

解决方案


推荐阅读