博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
python3 socke 服务端与客户端实现(回炉)
阅读量:6259 次
发布时间:2019-06-22

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

#服务端 #!/usr/bin/env python3# -*- coding:utf-8 -*-from socket import *# 创建sockettcpSerSocket = socket(AF_INET, SOCK_STREAM)# 绑定本地信息address = ('', 8999)tcpSerSocket.bind(address)# 使用socket创建的套接字默认的属性是主动的,使用listen将其变为被动的,这样就可以接收别人的链接了tcpSerSocket.listen(5)while True:    # 如果有新的客户端来链接服务器,那么就产生一个信心的套接字专门为这个客户端服务器    # newSocket用来为这个客户端服务    # tcpSerSocket就可以省下来专门等待其他新客户端的链接    newSocket, clientAddr = tcpSerSocket.accept()    while True:        # 接收对方发送过来的数据,最大接收1024个字节        recvData = newSocket.recv(1024)        # 如果接收的数据的长度为0,则意味着客户端关闭了链接        if len(recvData)>0:            print('recv:',recvData)        else:            break        # 发送一些数据到客户端        sendData = input("send:")        newSocket.send(bytes(sendData.encode("utf8")))    # 关闭为这个客户端服务的套接字,只要关闭了,就意味着为不能再为这个客户端服务了,如果还需要服务,只能再次重新连接    newSocket.close()# 关闭监听套接字,只要这个套接字关闭了,就意味着整个程序不能再接收任何新的客户端的连接tcpSerSocket.close()

  

#客户端#!/usr/bin/env python3# -*- coding:utf-8 -*-from socket import *# 创建sockettcpClientSocket = socket(AF_INET, SOCK_STREAM)# 链接服务器serAddr = ('192.168.1.130', 7788)tcpClientSocket.connect(serAddr)while True:    # 提示用户输入数据    sendData = input("send:")    if len(sendData)>0:        tcpClientSocket.send(bytes(sendData.encode("utf-8")))    else:        break    # 接收对方发送过来的数据,最大接收1024个字节    recvData = tcpClientSocket.recv(1024)    print ('recv:',recvData)# 关闭套接字tcpClientSocket.close()

  

转载于:https://www.cnblogs.com/zhaohongtaodepython/p/9455458.html

你可能感兴趣的文章
map持久化类 Properties;对象序列化 ObjectOutputStream
查看>>
大端模式与小端模式、网络字节顺序与主机字节顺序
查看>>
ubuntu RPLIDAR A2的使用
查看>>
不用加减乘除实现加法运算
查看>>
一些有趣的javascript小测试
查看>>
数据库 innodb&MyISAM 简单区别
查看>>
Android逆向之旅---反编译利器Apktool和Jadx源码分析以及错误纠正
查看>>
Android中下拉框spinner的两种用法
查看>>
Andrew Ng 的 Machine Learning 课程学习 (week2) Linear Regression
查看>>
Windows下安装MongoDB
查看>>
MyBatis在insert插入操作时返回主键ID的配置
查看>>
使用eclipse的todo标签管理任务
查看>>
iOS 开发自定义一个提示框
查看>>
CentOS6.5加域
查看>>
互联网+时代,移动互联网安全怎么自我防范呢?
查看>>
图片上传预览功能
查看>>
org.apache.log4j.Logger 详解
查看>>
Tiny Linux -- tce-load
查看>>
Android 中自定义控件和属性(attr.xml,declare-styleable,TypedArray)的方法和使用
查看>>
vue中get和post请求
查看>>