客户端

import socket
import time sk = socket.socket() # 第一步:创建socket对象
address = ('127.0.0.1', 8080) # 协议是ip+端口(类型元组)
sk.connect(address) # 第二步:建立链接
while True:
inp = input('客户端>>>>>>>>>\n')
if inp == 'exit':
break
sk.send(bytes(inp, 'utf8')) # 第三步:请求数据
time.sleep(1) # low方法防止粘包
data = sk.recv(1024) # 接收确认信息
print("接收服务端的数据", str(data, 'utf8'))
sk.close()

  服务端

import socket

# family type
# AF_INET,AF_INET6
# AF_UNIX
# SOCK_STREAM:: TCP
# SOCK_DGRAM :: UDP
# sk只负责绑定端口等待链接,发送接收消息用conn。
sk = socket.socket() # 默认参数tcp
address = ('127.0.1', 8080)
sk.bind(address) # 绑定ip协议和端口
sk.listen(3) # 定义最大可以挂起连接数。
print('服务的waiting.......')
while 1:
conn, addr = sk.accept() # 等待接收来自客户端的信息
print(addr)
while 1:
try:
data = conn.recv(1024)
except Exception:
break
if not data: break
print('接收到来自客户端的信息......', str(data, 'utf8'))
inp = input('》》》》》》》》')
conn.send(bytes(inp, 'utf8'))

  使用多线程版

import socketserver

class MyServer(socketserver.BaseRequestHandler):
# 重写父类的方法
def handle(self):
print('waiting.......')
while 1:
conn = self.request
print(self.client_address)
while 1:
try:
data = conn.recv(1024)
except Exception:
break
if not data:
break
print('......', str(data, 'utf8'))
inp = input('》》》》》》》》')
conn.sendall(bytes(inp, 'utf8'))
conn.close() if __name__ == '__main__':
host = '127.0.0.1'
ip = '8080'
server = socketserver.ThreadingTCPServer((host, ip), MyServer)#多线程通话
# 不会出现在一个客户端结束后,当前服务器端就会关闭或者报错,而是继续运行,与其他的客户端继续进行通话。
server.serve_forever()

  

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 ...

随机推荐

  1. Java参数引用传递之例外:null

    今天写链表的时候写了一个函数,实参是一个空链表,应该是按引用传参,但是在函数内修改了链表,外部的链表没有变化. 原来是null作为参数传递的时候,就不是引用传参了. 引自:http://blog.cs ...

  2. MT【145】不变的平面角

    (2018,4月学考数学选择最后一题)如图,设矩形$ABCD$所在平面与梯形$ACEF$所在平面相交于$AC$. 若$AB=1,BC=\sqrt{3},AF=EF=EC=1,$则下面二面角的平面角为定 ...

  3. 模板:CDQ分治

    UPD:18.06.15修正一些错误,感谢评论区巨佬orz CDQ分治不是一个顾名思义的东西,CDQ分治是为了纪念神犇陈丹琦而命名的一种算法. 那么CDQ分治能干什么?CDQ分治主要是用来解决一类”操 ...

  4. 【bzoj4804】欧拉心算 解题报告

    [bzoj4804]欧拉心算 Description 给出一个数字\(N\),计算 \[\sum_{i=1}^n\sum_{j=1}^n \varphi(\gcd(i,j))\] Input 第一行为 ...

  5. 【poj3133】 Manhattan Wiring

    http://poj.org/problem?id=3133 (题目链接) 题意 $n*m$的网格里有空格和障碍,还有两个$2$和两个$3$.要求把这两个$2$和两个$3$各用一条折线连起来.障碍里不 ...

  6. POI上传,导入excel文件到服务器1

    首先说一下所使用的POI版本3.8,需要用的的Jar包: dom4j-1.6.1.jarpoi-3.8-20120326.jarpoi-ooxml-3.8-20120326.jarpoi-ooxml- ...

  7. mac、linux 查看端口占用程序

    lsof -i:80 列出占用 80 端口的程序 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME mysqld 672 ruby 42u IPv4 ...

  8. R语言 神经网络算法

    人工神经网络(ANN),简称神经网络,是一种模仿生物神经网络的结构和功能的数学模型或计算模型.神经网络由大量的人工神经元联结进行计算.大多数情况下人工神经网络能在外界信息的基础上改变内部结构,是一种自 ...

  9. Centos6.6下安装nginx1.6.3

    安装环境: [root@nginx ~]# cat /etc/redhat-release CentOS release 6.6 (Final) [root@nginx ~]# uname -r 2. ...

  10. GO_06:GO语言基础之struct

    结构struct 1. Go 中的struct与C中的struct非常相似,并且Go没有class 2. 使用 type <Name> struct{} 定义结构,名称遵循可见性规则(即首 ...