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

背景

网络编程是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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 计算机网络概述 网络编程的实质就是两个(或多个)设备(例如计算机)之间的数据传输。 按照计算机网络的定义,通过一定...
    蛋炒饭_By阅读 1,241评论 0 10
  • Socket编程 1基础知识 协议 端口号(辨别不同应用) TCP/IP协议 是目前世界上应用最广泛的协议是以TC...
    __豆约翰__阅读 1,103评论 0 3
  • Python 面向对象Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对...
    顺毛阅读 4,236评论 4 16
  • 周瑜死后入地府,奈何桥前问孟婆曰:“江东旧主孙伯符可在此投胎转世?”孟婆回道:“三年前,在此化为一阵东风。”
    星鲜阅读 529评论 0 0
  • 不必满怀期待,因为总是失望占据希望。要撞很多次南墙以后才会知道,徒劳无功这四个字,给人带来多少的绝望和无力
    万作阅读 184评论 0 0