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