• soket 编程步骤
# -*- coding: utf-8 -*-
########################################################################
class sckt:
"""去元音缩写变量名 sckt 指代 socket """
#----------------------------------------------------------------------
def __init__(self, host = '192.168.1.3', port = 12345):
print("""地址初始化...""")
self.host = host
self.port = port
#----------------------------------------------------------------------
def run_server(self):
print("""运行服务器...""")
import socket
print("""第一步:创建 socket 对象""")
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("""第二步:将 socket 绑定到指定地址""", self.host, self.port)
sckt.bind((self.host, self.port))
print("""第三步:使用 socket 套接字的 listen 方法接收连接请求""")
sckt.listen(5)
while True:
print("""第四步:通过 socket 的 accept 方法等待客户请求一个连接""")
connection, address = sckt.accept()
try:
print("""第五步:处理阶段,服务器和客户端通过 send 和 recv 方法通信""")
connection.settimeout(5)
buffer = connection.recv(1024)
print(buffer)
if buffer == b'Link':
connection.send(b'Welcome to server!')
else:
connection.send(b'Message form client: ' + buffer)
except socket.timeout:
print(b'Time out!')
print("""最后是:传输结束,服务器调用 socket 的 close 方法关闭连接...""")
connection.close()
#----------------------------------------------------------------------
def run_client(self, message = b'Link'):
print("""运行客户端...""")
import socket
print("""第一步:创建 socket 对象""")
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
print("""第二步:连接服务器""", self.host, self.port)
sckt.connect((self.host, self.port))
import time
time.sleep(2)
print("""第三步:通信""")
sckt.send(message)
print(sckt.recv(1024))
print("""最后是:关闭连接...""")
sckt.close()
  • 通过 cmd 查询地址、端口状态

  • 运行效果
# -*- coding: utf-8 -*-
"""加载路径"""
import sys
sys.path.append('D:\360data\重要数据\桌面')
"""加载模块"""
import sckt
"""实例化"""
SCKT = sckt.sckt()
"""运行服务器"""
SCKT.run_server()
"""运行客户端"""
SCKT.run_client()

附流程图:

Python socket编程之一:的更多相关文章

  1. Python Socket 编程——聊天室示例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和客户端的代码了解基本的 Python Socket 编程模型.本文再通过一个例子来加强一下对 Socket 编程的 ...

  2. python/socket编程之粘包

    python/socket编程之粘包 粘包 只有TCP有粘包现象,UDP永远不会粘包. 首先需要掌握一个socket收发消息的原理 发送端可以是1k,1k的发送数据而接受端的应用程序可以2k,2k的提 ...

  3. PYTHON SOCKET编程简介

    原文地址: PYTHON SOCKET编程详细介绍   Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 Soc ...

  4. python socket编程笔记

    用python实现一个简单的socket网络聊天通讯 (Linux --py2.7平台与windows--py3.6平台) 人生苦短之我用Python篇(socket编程) python之路 sock ...

  5. [Python_7] Python Socket 编程

    0. 说明 Python Socket 编程 1. TCP 协议 [TCP Server] 通过 netstat -ano 查看端口是否开启 # -*-coding:utf-8-*- "&q ...

  6. Python Socket 编程示例 Echo Server

    简评:我们已经从「Python Socket 编程概览」了解了 socket API 的概述以及客户端和服务器的通信方式,接下来让我们创建第一个客户端和服务器,我们将从一个简单的实现开始,服务器将简单 ...

  7. Python Socket 编程——聊天室演示样例程序

    上一篇 我们学习了简单的 Python TCP Socket 编程,通过分别写服务端和client的代码了解主要的 Python Socket 编程模型.本文再通过一个样例来加强一下对 Socket ...

  8. python socket编程入门(编写server实例)+send 与sendall的区别与使用方法

    python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参 ...

  9. 第九章:Python高级编程-Python socket编程

    第九章:Python高级编程-Python socket编程 Python3高级核心技术97讲 笔记 9.1 弄懂HTTP.Socket.TCP这几个概念 Socket为我们封装好了协议 9.2 cl ...

  10. python socket编程详细介绍

    Python 提供了两个基本的 socket 模块. 第一个是 Socket,它提供了标准的 BSD Sockets API. 第二个是 SocketServer, 它提供了服务器中心类,可以简化网络 ...

随机推荐

  1. 最近火到不行的微信小程序的常识

    满网都是微信小程序,技术dog们不关注都不行了.先别忙着去学怎么开发小程序,先纠正一下你对微信小程序的三观吧~~~~ 小程序目前被炒得沸沸扬扬,无数媒体和企业借机获取阅读流量. 这再次证明一点,微信想 ...

  2. 如何在高并发分布式系统中生成全局唯一Id(转)

    http://www.cnblogs.com/heyuquan/p/global-guid-identity-maxId.html 又一个多月没冒泡了,其实最近学了些东西,但是没有安排时间整理成博文, ...

  3. Spring MVC实现文件下载

     下载文件① 下载文件需要将byte数组还原成文件. 首先使用mybatis将数据库中的byte数组查出来,指定文件名(包括格式).然后使用OutputStream将文件输入 @RequestMapp ...

  4. CDC类

    CDC :class of device context Windows使用与设备无关的图形设备环境(DC :Device Context) 进行显示 .MFC基础类库定义了设备环境对象类----CD ...

  5. Android开发之高效加载Bitmap

    一.概述 在Android开发中,我们经常与Bitmap打交道,而对Bitmap的不恰当的操作经常会导致OOM(Out of Memory).这篇文章我们会介绍如何高效地在Android开发中使用Bi ...

  6. 手把手教你Linux服务器集群部署.net网站 - Linux系统安装和设置

    在开源软件已成趋势化的今天,微软这‘老古董’也开始向开源方向发力,这对我们.NET开发者是极大的喜讯.而在开源软件中, Linux就是其中一个优秀的代表,几乎各行业和计算机有关的都有它的身影,其中一点 ...

  7. Android中图片大小和屏幕密度的关系讲解

    Android手机适配是非常让人头疼的一件事,尤其是图片,android为了做到是适配提供了很多文件夹来存放不同大小的图片,比如:drawable-ldpi.drawable-mdpi.drawabl ...

  8. maven integration with eclipse 3.0.4 does not work with NTLM proxy

    Recently downloaded m2e(maven integration with eclipse). The version is 3.0.4. My environment is beh ...

  9. linq查询语句转mongodb

    && (与操作) 子表达式可以通过&&合并来查询满足所有子表达式的文档 var query = from c in collection.AsQueryable< ...

  10. DOM(九)使用DOM设置文本框

    1.控制用户输入的字符个数 对于单行文本框和密码输入框,可以利用maxlength属性控制用户输入的字符个数. 对于多行文本,maxlength为自定义属性,其值最多输入的字符的个数,在onkeypr ...