背景

网络编程是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/sty945
简书:楼上小宇:http://www.jianshu/u/1621b29625df

更多推荐

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