Python简单服务器客户端
我正在为我的网络课程做一个项目,但遇到了一些问题。我应该制作一个服务器-客户端RPS游戏,并通过HTTP消息发送投掷选择。 我正试图找出如何让我的服务器服务于本地主机之外的其他IP。如有任何建议,将不胜感激 这是密码 服务器:Python简单服务器客户端,python,server,client,Python,Server,Client,我正在为我的网络课程做一个项目,但遇到了一些问题。我应该制作一个服务器-客户端RPS游戏,并通过HTTP消息发送投掷选择。 我正试图找出如何让我的服务器服务于本地主机之外的其他IP。如有任何建议,将不胜感激 这是密码 服务器: ```import sys from http.server import HTTPServer, BaseHTTPRequestHandler newgame = ['Rock', 'Paper', 'Scissors'] # setup echoHandler t
```import sys
from http.server import HTTPServer, BaseHTTPRequestHandler
newgame = ['Rock', 'Paper', 'Scissors']
# setup echoHandler to allow server to run
class echoHandler(BaseHTTPRequestHandler):
def do_GET(self):
if self.path.endswith('/'):
self.send_response(200)
self.send_header('content-type', 'text/html')
self.end_headers()
#HTML code for basic webpage
output = ''
output += '<html><body>'
output += 'Your move options are:'
output += '<h1> Rock, Paper, Scissors</h1>'
output += 'Please send your response... and one more thing'
output += '<h3> GOOD LUCK BEATING ME BLAKE</h3>'
output += "<h2>Please select a move</h2>"
for game in newgame:
output += game
output += '</br>'
output += '</body></html>'
# Not sure if professor will allow a form and submit combo, ask in office hours.
# output += ''
# output += '<html><body>'
# output += '<h1> Enter your play</h1>'
# output += '<form method="POST" enctype="multipart/form-data" action=/newgame/new">'
# output += '<input name="move" type="text" placeholder="Enter move">'
# output += '<input type="submit" value="add">'
# output += '</form>'
# output += '</body>'
self.wfile.write(output.encode())
# define main to run program and take arguments for IP and Port
def main():
PORT = 8000
server = HTTPServer((sys.argv[1], PORT), echoHandler)
print('Server running on port %s' % PORT)
server.serve_forever()
if __name__ == '__main__':
main() ```
```import socket
import sys
justin = sys.argv[1]
port = int(sys.argv[2])
portClient = int(sys.argv[3])
class Client:
# create the server bind and connection from CL
HEADERSIZE = 10
server = (sys.argv[1], int(sys.argv[2]))
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((justin, portClient))
s.connect(((sys.argv[1]), int(sys.argv[2]))) #connect (ipadress, port)
message = input("->")
# receive messages from server side
while True:
s.sendto(message.encode('utf-8'), server)
data, addr = s.recvfrom(1234)
data = data.decode('utf-8')
print("received from server: " + data)
message = input("->")
sys.exit
print(full_msg)```