博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python-17-socket
阅读量:7069 次
发布时间:2019-06-28

本文共 1536 字,大约阅读时间需要 5 分钟。

socket

Socket是应用层与TCP/IP协议中通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。

服务端

import socketphone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)phone.bind(('127.0.0.1',8030))phone.listen(5)conn,addr = phone.accept()#收消息msg = conn.recv(1024)print('客户端发来的消息是',msg)#发消息conn.send(msg.upper())conn.close()phone.close()复制代码

客户端

import socketphone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)phone.connect(('127.0.0.1',8030))#拨通电话phone.send('hello'.encode('utf-8'))data = phone.recv(1024)print('收到服务端收到的消息',data)复制代码

服务端1

from socket import *ip_port =('127.0.0.1',9000)back_log = 5buffer_size=1024tcp_server = socket(AF_INET,SOCK_STREAM)tcp_server.setsockopt(SOL_SOCKET,SO_REUSEADDR,1)tcp_server.bind(ip_port)tcp_server.listen(back_log)print('服务端开始运行了')while True:    conn,addr = tcp_server.accept()    print('双向连接是',conn)    print('客户端地址',addr)    while True:        try:            data = conn.recv(buffer_size)            print('客户端发来的消息是', data.decode('utf-8'))            conn.send(data.upper())        except Exception:            break    conn.close()tcp_server.close()复制代码

客户端1

from socket import *ip_port =('127.0.0.1',9000)back_log = 5buffer_size=1024tcp_client = socket(AF_INET,SOCK_STREAM)tcp_client.connect(ip_port)while True:    msg=input('>>:').strip()    #如果为空重新输入    if not msg:continue    tcp_client.send(msg.encode('utf-8'))    print('客户端已经发送消息')    data = tcp_client.recv(buffer_size)    print('收到服务端发来的消息',data.decode('utf-8'))tcp_client.close()复制代码

转载地址:http://ghhll.baihongyu.com/

你可能感兴趣的文章