wenzai 发表于 2021-12-9 21:41:05

大佬们,怎么搭建简单的服务器

功能是 别人在其他设备输入我的URL,然后给我发将图片编码过后的数据(http协议) 然后我这边收到后解码显示出来

wp231957 发表于 2021-12-9 22:07:35

没太看懂,后台显示图片???在哪显示

suchocolate 发表于 2021-12-9 22:09:20

本帖最后由 suchocolate 于 2021-12-9 22:11 编辑

flask上传图片
https://read.helloflask.com/

z5560636 发表于 2021-12-10 09:46:17

如果是基础的,学习一下 socket绑定80端口

如果要完整的,学会一个框架

wenzai 发表于 2021-12-13 10:27:39

wp231957 发表于 2021-12-9 22:07
没太看懂,后台显示图片???在哪显示

我是准备写个qt,来显示图片

wenzai 发表于 2021-12-13 10:28:34

z5560636 发表于 2021-12-10 09:46
如果是基础的,学习一下 socket绑定80端口

如果要完整的,学会一个框架

我看网上的代码没有绑定1024以下端口的诶,我能占用80端口吗

wenzai 发表于 2021-12-13 10:52:04

z5560636 发表于 2021-12-10 09:46
如果是基础的,学习一下 socket绑定80端口

如果要完整的,学会一个框架

我懂了,80是默认的tcp端口,别人发给我,只要是http,tcp发过来的我都能监听到是吧。

wenzai 发表于 2021-12-13 10:59:24

大佬我想请教以下,我现在按照网上给的代码写的客户端,属于是我现在服务器端必须要先指定 客户端的ip地址,那实际情况下,我该怎么知道对方的ip地址呢,建立连接呢
HOST = '127.0.0.1'          //这里都提前指定了ip地址为    127.0.0.1
PORT = 80
BUF_SIZE = 1024
ADDRESS = (HOST, PORT)

if __name__ == '__main__':
    # 新建socket连接
    server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    # 将套接字与指定的ip和端口相连
    server_socket.bind(ADDRESS)
    # 启动监听,并将最大连接数设置为5
    server_socket.listen(5)
    print("[***] 正在监听: %s:%d" % (HOST, PORT))
    # setsockopt()函数用来设置选项,结构是setsocketopt(level,optname,value)
    # level定义了哪个选项将被使用,通常是SOL_SOCKET,意思是正在使用的socket选项
    # socket.SO_REUSEADDR表示socket关闭后,本地端用于该socket的端口号立刻就可以被重用
    # 通常来说,只有经过系统定义一段时间后才能被重用
    server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    while True:
      print(u'服务器等待连接...')
      # 当有连接时,将接收到的套接字存到client_socket中,远程连接细节保存到address中。
      client_sock, address = server_socket.accept()
      print(u'连接客户端地址:', address)
      while True:
            # 打印客户端发送的消息
            data = client_sock.recv(BUF_SIZE)
            if not data or data.decode('utf-8') == 'END':
                break
            print('来自客户端的消息:%s' % data.decode('utf-8'))
            print('发送服务器时间给客户端:%s' % ctime())
            try:
                # 发送时间
                client_sock.send(bytes(ctime(), 'utf-8'))
            except KeyboardInterrupt:
                print('用户取消')
      # 关闭客户端socket
      client_sock.close()
    # 关闭socket
    sever_socket.close()

z5560636 发表于 2021-12-13 13:45:38

wenzai 发表于 2021-12-13 10:59
大佬我想请教以下,我现在按照网上给的代码写的客户端,属于是我现在服务器端必须要先指定 客户端的ip地址 ...

啥意思? 这就是服务端啊。
你绑定的是80端口,可以用浏览器访问 127.0.0.1 即可。

wenzai 发表于 2021-12-15 15:24:04

z5560636 发表于 2021-12-13 13:45
啥意思? 这就是服务端啊。
你绑定的是80端口,可以用浏览器访问 127.0.0.1 即可。

那另一台电脑想访问我呢,我怎么设置url。 127这个应该是本地的吧

wenzai 发表于 2021-12-15 15:25:55

z5560636 发表于 2021-12-13 13:45
啥意思? 这就是服务端啊。
你绑定的是80端口,可以用浏览器访问 127.0.0.1 即可。

并且我还无法绑定80端口,会报错:“以一种访问权限不允许的方式做了一个访问套接字的尝试。”

z5560636 发表于 2021-12-15 15:26:00

wenzai 发表于 2021-12-15 15:24
那另一台电脑想访问我呢,我怎么设置url。 127这个应该是本地的吧

如果另外一台电脑是外网的话的,那样还需要做端口映射,内网穿透之内的,
如果是同一个局域网下的电脑的话,你只要看一下本机的IP地址,   然后把 127.0.0.1 换成本机IP地址即可

z5560636 发表于 2021-12-15 15:29:06

wenzai 发表于 2021-12-15 15:25
并且我还无法绑定80端口,会报错:“以一种访问权限不允许的方式做了一个访问套接字的尝试。”

用管理员权限运行。

z5560636 发表于 2021-12-15 15:29:48

wenzai 发表于 2021-12-15 15:25
并且我还无法绑定80端口,会报错:“以一种访问权限不允许的方式做了一个访问套接字的尝试。”

当然,你也可以把端口换成其他的, 网页的访问地址填上端口号也行。

Ly_悠然天下 发表于 2021-12-17 21:17:50

普通用户用不了80、443、8080端口,最好选40000以上的端口,我以前也自己瞎弄过,用的java+Tomcat,小白最好的方式就是用内网穿透,不过我当时用的是公网IP40000以上的端口号+重定向,可以不用重定向,不过访问的时候就要加端口号了,还有就是公网IP也不能访问80端口,不知道别的地方或者别的运营商是怎么做的,反正我这里的电信不能,常用的HTTP HTTPS TCP FTP之类的端口都不能进行外部访问

Ly_悠然天下 发表于 2021-12-17 21:18:53

Ly_悠然天下 发表于 2021-12-17 21:17
普通用户用不了80、443、8080端口,最好选40000以上的端口,我以前也自己瞎弄过,用的java+Tomcat,小白最 ...

其他跟代码相关的你自己找找教程就能做

王尧 发表于 2021-12-21 01:28:23

websocket?
页: [1]
查看完整版本: 大佬们,怎么搭建简单的服务器