美文网首页
python 网络编程之Socket通信案例消息发送与接收

python 网络编程之Socket通信案例消息发送与接收

作者: 楼上小宇 | 来源:发表于2018-01-26 14:55 被阅读27次

    背景

    网络编程是python编程中的一项基本技术。本文将实现一个简单的Socket通信案例消息发送与接收

    正文

    这里写图片描述

    在python中的socket编程的大致流程图如上所示

    我们来首先编写客户端的代码:

    # !/usr/bin/env python
    
    # -*- coding: utf-8 -*-
    
    # Time: 2018/1/26 13:59
    
    # Author: sty
    
    # File: socket_client.py
    
    import socket
    
    client = socket.socket()  #声明socket类型,同时生成socket连接对象
    client.connect(('localhost', 6969))
    
    client.send(b"hello world")
    data = client.recv(1024)
    
    print("recv:", data)
    client.close()
    
    

    在这段代码中我们在本地开启了6969端口来传输'hello world'的字节数据

    然后我们编写服务器端的代码:

    # !/usr/bin/env python
    
    # -*- coding: utf-8 -*-
    
    # Time: 2018/1/26 14:09
    
    # Author: sty
    
    # File: socket_server.py
    
    import socket
    
    server = socket.socket()
    
    server.bind(('localhost', 6969)) #绑定要监听端口
    
    server.listen()  #监听
    
    print('begin...')
    # conn就是客户端连过来而再服务器端为其生成的一个连接实例
    conn, addr = server.accept() # 等电话打进来
    
    
    print('accept...')
    
    data = conn.recv(1024)
    
    print("recv", data)
    conn.send(data.upper())
    
    server.close()
    

    我们在运行服务器端代码时,会出现:

    begin...
    
    

    表示服务器端正在监听端口

    我们再运行客户端的代码,会出现:

    recv: b'HELLO WORLD'
    

    而此时服务器端的代码出现了:

    begin...
    accept...
    recv b'hello world'
    

    表示服务器端已经接收到了数据,并且打印出来了。

    结语

    由此我们就实现了一个简单的Socket通信案例消息发送与接收

    转载请注明出处:
    CSDN:楼上小宇_home:http://blog.csdn.net/sty945
    简书:楼上小宇:http://www.jianshu.com/u/1621b29625df

    相关文章

      网友评论

          本文标题:python 网络编程之Socket通信案例消息发送与接收

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