介绍:
学习的第二阶段,网络编程。基于Python3 2016年12月29日 14:00:58
目录:Socket介绍
Socket简单交互实例
ssh模拟
Socket基本语法
SocketServer
异常处理
Socket,又称作 套接字。用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过“套接字”向网络发出请求或者应答网络请求。
Socket 模块 是针对 服务器端 和 客户端Socket进行 打开 读写 关闭
服务器:发送一条消息import socket#标准库
ip_port = ('127.0.0.1',9998) ##声明
sk = socket.socket() ##生成一个句柄
sk.bind(ip_port)
sk.listen(5) ##监听
while True:
print('server waiting...')
conn,addr = sk.accept() ##会把客户端的端口和IP,生成一个实例,只为这个客户端服务
## 生成的实例,地址
client_data = conn.recv(1024) ##1024个字节/比特
print(str(client_data,'utf8'))
conn.sendall(bytes('不要回答,不要回答,不要回答','utf8'))
conn.close()
客户端:发送一条信息import socket
ip_port = ('127.0.0.1',9998)
sk = socket.socket()
sk.connect(ip_port)
sk.sendall(bytes('请求占领地球','utf8'))
server_reply = sk.recv(1024)
print(str(server_reply,'utf8'))
sk.close()
服务器和客户端交互消息import socket#标准库
ip_port = ('127.0.0.1',9998) ##声明
sk = socket.socket() ##生成一个句柄
sk.bind(ip_port)
sk.listen(5) ##监听
while True:
print('server waiting...')
conn,addr = sk.accept() ##会把客户端的端口和IP,生成一个实例,只为这个客户端服务
## 生成的实例,地址
client_data = conn.recv(1024) ##1024个字节/比特
print(str(client_data,'utf8'))
conn.sendall(bytes('不要回答,不要回答,不要回答','utf8'))
while True:
client_data = conn.recv(1024)
print(str(client_data,'utf8'))
server_response = input("\033[31;1m>>:\033[0m").strip()
conn.send(bytes(server_response,'utf8'))
conn.close()
import socket
ip_port = ('127.0.0.1',9998)
sk = socket.socket()
sk.connect(ip_port)
sk.sendall(bytes('请求占领地球','utf8'))
server_reply = sk.recv(1024)
print(str(server_reply,'utf8'))
wh