首页 > 编程语言 > 详细

python-socket

时间:2020-11-08 16:51:06      阅读:25      评论:0      收藏:0      [点我收藏+]

基于c++的socket编程可以看我以前博客的socket编程系列,地址
这里就简单介绍继续python的socket编程
编写tcp时一般会用到的socket模块,其方法包括:
connect(address):连接远程计算机
send(bytes[,flags]):发送数据
recv(bufsize[,flags]):接收数据
bind(address):绑定地址
listen(backlog):开始监听,等待客户端连接
accept():响应客户端的一个请求,接受一个连接

server.py

import socket  # 导入 socket 模块
import sys

s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  # 创建 socket 对象
host = "127.0.0.1"
port = 12345  # 设置端口
s.bind((host, port))  # 绑定端口
print("listening at port:",port)
s.listen(1)
conn,addr = s.accept()
i = 5
while True:
    print("waiting for connection...")
    print("Connect by:",addr)
    i = i - 1
    while i == 0 :
        print("等待5次连接失败!")
        sys.exit()
    while True:
        data = conn.recv(1024)
        data = data.decode()
        if not data:
            break
        print("recv message:",data)
        datasend = input(">")
        conn.sendall(datasend.encode())
    if(data=="bye"):
        conn.close()
        s.close()

client.py

import socket,sys
HOST = "127.0.0.1"
PORT = 12345
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((HOST,PORT))
while True:
    datasend = input(">")
    if not datasend:
        break
    s.sendall(datasend.encode())
    datarecv = s.recv(1024)
    if not datarecv:
        break
    print("recv data:",datarecv.decode())
s.close()

技术分享图片

技术分享图片

python-socket

原文:https://www.cnblogs.com/yicunyiye/p/13944261.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!