Python网络编程

本文介绍了Socket的基本概念,包括套接字家族和类型,并展示了Python中使用socket函数创建套接字的实例。通过示例,阐述了服务器端如何监听和接收客户端连接,以及客户端如何发送和接收数据。提供了详细的服务器和客户端代码,帮助理解Socket通信流程。
摘要由CSDN通过智能技术生成

什么是 Socket?

Socket又称"套接字",应用程序通常通过"套接字"向网络发出请求或者应答网络请求,使主机间或者一台计算机上的进程间可以通讯。

socket()函数

Python 中,我们用 socket()函数来创建套接字,语法格式如下:
socket.socket([family[, type[, proto]]])
参数:

  • family: 套接字家族可以是 AF_UNIX 或者 AF_INET。(AF_UNIX或AF_INET区别
  • type: 套接字类型可以根据是面向连接的还是非连接分为 SOCK_STREAM 或 SOCK_DGRAM。
  • protocol: 一般不填默认为 0。
    服务器端
import socket

ip_port = ('127.0.0.1',8889)

server=socket.socket()
server.bind(ip_port)

server.listen(5)

while True:
    conn,addr=server.accept()
    conn.sendall('欢迎致电10086,查询请按1,人工请按0'.encode('utf-8'))
    Flag=True
    while Flag:
        data=conn.recv(1024).decode()
        if data == 'exit':
            Flag=False
        elif data == '0':
            conn.sendall('通信过程会被录音.......'.encode('utf-8'))
        else:
            conn.sendall('请重新输入.......'.encode('utf-8'))
    conn.close()

客户端

import socket
ip_port = ('127.0.0.1',8889)

client=socket.socket()
client.connect(ip_port)

client.settimeout(5)

while True:
    data=client.recv(1024).decode()
    print('receive:',data)
    inp=input('please input:').encode('utf-8')
    client.sendall(inp)
    if inp=='exit':
        break

client.close()

这篇博客对网络编程讲得比较详细,可参考。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值