美文网首页
socket_server

socket_server

作者: 丫丫姑娘_b55e | 来源:发表于2018-07-04 19:51 被阅读0次

socket又叫套接字,我们把进行网络通信的一端就叫一个套接字
socket编程,就是通过程序实现通信的两端(服务器和客户端)

python中支持socket有三种,分别是基于TCP、UDP和IP的,叫做TCP套接字、UDP套接字和原始套接字

基于TCP的服务器端
  1. 创建套接字对象,并且指定服务类型
    family:
    AF_INET --> ipv4
    AF_INET6 --> ipv6
    type:
    SOCK_STREAM --> TCP

     import  socket
     server = socket.socket(family=socket.AF_INET, type=socket.SOCK_STREAM)
    

2.绑定ip地址和端口
地址:(ip地址, 端口)
ip地址:服务器所在的硬件的ip地址
端口:不同端口绑定不同的服务,同一时间同一个端口只能绑定一个服务
端口的范围0-65535,但是小于等于1024的端口叫'著名端口',
用于绑定著名服务(比如http服务、邮件服务等),最好不要用

server.bind(('10.7.154.82', 12346))
  1. 监听访问

    server.listen()
    print('开始监听....')
    

让服务器一直运行,等待访问

    while True:
# 当有客户端访问当前服务器后就建立连接
connect, addr = server.accept()  # 当有一个客户端来连接当前服务器的时候才会执行
print('=====')

while True:
    # 通过会话给客户端发送消息
    # 发送的内容必须是二进制数
    """
    字符串转二进制: 字符串.encode('utf-8')
    二进制转字符串: 二进制数据.decode('utf-8')
    """
    message = input(':')
    connect.send(message.encode('utf-8'))

    # 接收客服端发送给服务器的消息
    data = connect.recv(1024)
    print(data.decode('utf-8'))

# 关闭连接
# connect.close()
socket_客户端
    import socket

 1. 创建套接字对象
client = socket.socket(family=socket.AF_INET,               type=socket.SOCK_STREAM)

 2. 连接服务器
client.connect(('10.7.154.82', 12345))
while True:
    # 3.接收服务器返回的数据
    # 1024是接收的数据的大小
data = client.recv(1024)
print(data.decode('utf-8'))

# 4.给服务器发送数据
message = input(':')
client.send(message.encode('utf-8'))

相关文章

  • socket_server

    socket又叫套接字,我们把进行网络通信的一端就叫一个套接字socket编程,就是通过程序实现通信的两端(服务器...

网友评论

      本文标题:socket_server

      本文链接:https://www.haomeiwen.com/subject/sfeyuftx.html