Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python简单服务器客户端_Python_Server_Client - Fatal编程技术网

Python简单服务器客户端

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

我正在为我的网络课程做一个项目,但遇到了一些问题。我应该制作一个服务器-客户端RPS游戏,并通过HTTP消息发送投掷选择。 我正试图找出如何让我的服务器服务于本地主机之外的其他IP。如有任何建议,将不胜感激

这是密码

服务器:

```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)```