初试网络编程简单版本:

初试网络编程简单版本:

####socket模块就是套接字模块,这个模块为我们封装了很多复杂的通讯协议
##以及方法,我们只需要调用这个模块的方法就能实现通信了.接下来是使用方法

##通讯一般指的是两台计算机之间的通信,按照架构方式,我们一般称一方为客户端,
##一方为服务端,这是典型的CS架构,除此之外,还有BS架构,B指的是浏览器,


"""
接下来我们来逐步学习一个简单的CS框架的通讯程序怎么写:


客户端::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
"""
import socket
server = socket.socket()
# 调用这个模块,生成这个对象,这就好比是买一个手机
# 括号后面不传参数默认就是TCP协议
server.bind(('127.0.0.1', 8080))
###绑定一个IP和端口号,就是相当于给手机插了一个手机卡
###注意括号里面,IP号和端口号要以一个元组的形式传入
###端口号的可使用范围是0-65535  但是我们使用一般使用8000之后的,因为8000之前的,
###大部分可能被操作系统占用了,可能会有冲突
server.listen(5)  # 设置半连接池的大小

conn, addr = server.accept()  # 待机 接收请求,生成双向通道 ,以及得到对方的IP地址
data = conn.recv(1024)  # 听别人说话   接收1024个bytes
print(data.decode('utf-8'))
conn.send('吃了'.encode('utf-8'))  # 回话


conn.close()  # 挂电话
server.close()  # 关机

客户端::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

import socket

client = socket.socket()
##生成这个对象
client.connect(('127.0.0.1', 8080))
###链接对方的IP地址和端口号
client.send('你吃了么?'.encode('utf-8'))
###发送必须要发送BYTES  二进制字节类型的数据
data = client.recv(1024)
##接收1024个bytes
print(data.decode('utf-8'))

client.close()
##结束之后要关闭这个链接

posted @ 2019-06-03 16:24  同济小孙  阅读(150)  评论(0编辑  收藏  举报