pythonsocket服务_Python中的Socket服务器

我正在尝试设置一个本地服务器,以便同一本地网络上的其他PC机可以连接到它。在客户端尝试执行此操作时,我得到以下错误:

[Errno 10061]由于目标计算机主动拒绝,因此无法建立连接

我找了好几个小时,还是没能解决这个问题。我也试着关掉防火墙,但什么也没有。在

以下是我的服务器和客户端代码:

服务器代码:import socket

import threading

import SocketServer

import datetime

ver_codes = []

class ThreadedTCPRequestHandler(SocketServer.BaseRequestHandler):

def handle(self):

print threading.current_thread().isDaemon()

data = self.request.recv(1024)

command = data.split()[0]

if(command=="login"):

if(logged_in(data.split()[1])==False):

self.request.sendall(login(data.split()[1], data.split()[2]))

else:

self.request.sendall("already in")

class ThreadedTCPServer(SocketServer.ThreadingMixIn, SocketServer.TCPServer):

pass

def client(ip, port, message):

sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

sock.connect((ip, port))

try:

sock.sendall(message)

response = sock.recv(1024)

print "Received: {}".format(response)

finally:

sock.close()

def logged_in(id_num):

for i in ver_codes:

if(i[0]==id_num):

return True

return False

def login(username, password):

login_file = open("Login.txt", "r")

match = login_file.readline()

while(match!="*"):

if(match.split()[0]==username):

if(match.split()[1]==password):

ver_codes.append([match.split()[0], encryption_code(match.split()[2])])

login_file.close()

return "{} {}".format(match.split()[2], encryption_code(match.split()[2]))

print "And Here"

match = login_file.readline()

return "Denied"

login_file.close()

def encryption_code(to_encrypt):

now = datetime.datetime.now()

return int(str(now.microsecond)) * int(to_encrypt)

if __name__ == "__main__":

HOST, PORT = "localhost", 7274

server = ThreadedTCPServer((HOST, PORT), ThreadedTCPRequestHandler)

ip, port = server.server_address

print server.server_address

server_thread = threading.Thread(target=server.serve_forever)

server_thread.daemon = False

server_thread.start()

print "Server loop running in thread:", server_thread.name

客户代码:

^{pr2}$

我真的很感激你能给我的任何帮助!

事先非常感谢!在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值