我正在设置一个用于接收本地连接的基本TCP服务器。我已经用sock=socket.socket(socket.AF_INET,socket.sock_DGRAM)构建了具有套接字的客户端应用程序。我需要客户端能够连接这些参数,即使它们不是必需的。如果传入这两个参数,我的非常简单的服务器不允许这种连接
我已确保我的计算机上的IP和端口可用。我已成功地将UDP客户端连接到一个类似的处理程序,并传入了这些参数。通过将客户端构造为sock=socket.socket(),而不带参数,我获得了一个成功的TCP连接
服务器文件:
class TCPHandler(SocketServer.BaseRequestHandler):
def handle(self):
self.data = self.request.recv(1024).strip()
self.request.sendall(self.data.upper())
...
#(in main)
server = SocketServer.TCPServer((HOST,PORT), TCPHandler)
print "TCP Server Started"
客户端文件:
try:
#sock = socket.socket()
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sock.settimeout(3.0)
print "Attempting to TCP connection"
PORT = 53140
sock.connect((HOST, PORT))
print "Connected to TCP"
sock.sendall(data + "\n")
received = sock.recv(1024)
sock.close()
except Exception as e:
print e
如果以粘贴方式运行代码,则会出现“连接被拒绝”错误。如果改用注释行,TCP连接将正常工作
目前没有回答
相关问题 更多 >
编程相关推荐