docker下的socket端口配置
socket 绑定IP和端口到套接字
win10本地测试,通过 http://127.0.0.1:8800/
可以访问linux系统的docker环境下启动后,
无法通过linux服务器的IP地址+端口: 8800进行访问
# -*- coding: utf-8 -*-
"""
Python 网络编程
套接字的作用
Socket 又叫做 "套接字",
应用程序通常通过 "套接字" 向网络发出请求或者应答网络请求
使主机间或者一套计算机上的进程间可以通讯
Socket 对象(内建) 方法
1. s.bind() 函数 : 服务端套接字
绑定地址 (host, port) 到套接字
在 AF_INET 下, 以元组(host, port)的形式表示地址
2. s.accept()
被动接受 TCP 客户端连接
(阻塞式) 等待连接的到来
公共用途的套接字函数
3. s.recv()
接收 TCP 数据
数据返回形式: 字符串
bufsize: 指定要接收的最大数据量
flag提供有关消息的其他信息,通常可以忽略
"""
import socket
def SocketFlow():
"""
socket 的流程
s = socket.socket() 创建套接字
s.bind() 绑定地址到套接字
s.accept() 等待TCP连接的到来 【被动】
s.recv() 接收TCP数据, 数据返回形式 为 字符串 string
s.send() 发送TCP 数据 将 string 中的数据 发送到连接的套接字
返回值是要发送的字节数量, 该数量可能小于 string 的字节大小
"""
sock = socket.socket() # doc1.创建套接字
# sock.bind(("127.0.0.1", 8800)) # doc2. s.bind()函数作为服务端套接字,绑定地址 (host, port) 到套接字
sock.bind(("0.0.0.0", 8005)) # doc2. s.bind()函数作为服务端套接字,绑定地址 (host, port) 到套接字
sock.listen(5)
while 1:
print("server wating......")
conn, addr = sock.accept() # doc3. s.accept() 函数 被动接受 TCP 客户端连接, (阻塞式) 等待连接的到来
data = conn.recv(1024) # doc4. s.s.recv 接收 TCP数
print("data", data)
conn.send(b"hello luffycity!") # doc45. 发送 TCP 数据
conn.close()
SocketFlow()
请问需要修改什么,才可以在docker下启动后,通过地址IP+端口: 8800可以访问
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
docker run
的时候你没有加-p
参数暴露端口?防火墙放行了相关端口了么?