小工具      在线工具  汉语词典  css  js  c++  java

python Socket客户端与服务器握手

Python 额外说明

收录于:43天前

简单学习使用socket在客户端和服务器之间建立连接并发送数据

1. 客户端套接字客户端.py代码

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 建立连接:
s.connect(('127.0.0.1', 9999))
# 接收欢迎消息:
print(s.recv(1024).decode('utf-8'))
for data in [b'Michael', b'Tracy', b'Sarah']:
    # 发送数据:
    s.send(data)
    print(s.recv(1024).decode('utf-8'))
s.send(b'exit')
s.close()

2. 服务端 serverSocket.py代码

import socket
import threading 
import time  
# from threading import Thread


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
# 监听端口:
s.bind(('127.0.0.1', 9999))
s.listen(5)
print('Waiting for connection...')

def tcplink(sock, addr):
    print('Accept new connection from %s:%s...' % addr)
    sock.send(b'Welcome!')
    while True:
        data = sock.recv(1024)
        time.sleep(1)
        if not data or data.decode('utf-8') == 'exit':
            break
        sock.send(('Hello, %s!' % data.decode('utf-8')).encode('utf-8'))
    sock.close()
    print('Connection from %s:%s closed.' % addr)

while True:
    # 接受一个新连接:
    sock, addr = s.accept()
    # 创建新线程来处理TCP连接:
    t = threading.Thread(target=tcplink, args=(sock, addr))
    t.start()


3、操作流程

打开两个控制台窗口并首先运行服务器python3 serverSocket.py

然后运行客户端python3 socketClient.py

socket连接截图如下


. . .

相关推荐

额外说明

Mui框架经纬度信息获取回调

plus.geolocation.getCurrentPosition(function(p) { console.log('Geolocation\nLatitude:' + p.coords.latitude + '\nLon

额外说明

java System.arrayCopy 参数意义,使用

下面是 System.arrayCopy的源代码声明 :  public static void arraycopy(Object src, int srcPos, Object dest, int destPos, int length) 代码解释:

额外说明

BigDecimal 转换成 Long数据类型

      //bigDecimal 转换成 Long类型 public static void test(){ BigDecimal b = new BigDecimal(12); Long c = b.lo

额外说明

SQL Server:生成指定年份的所有日期

测试所用的表:table24   结构及意义: field1:主键序号 field2:日期 field3:当前日期是本年度的第几周(用来查询) field4:星期几(如星期一) field5:年份   建表SQL: CREATE TABLE [dbo].

额外说明

java反射机制学习(四):通过反射执行方法、操作属性、操作数组中的数据

用到的实例Person: interface China { public static final String NATIONL="中国";//国籍 public static final String NAME="wjl";//姓名 pub

额外说明

XML基础笔记

XML: 1. 概念:Extensible Markup Language 可扩展标记语言 * 可扩展:标签都是自定义的。 <user> <student> * 功能 * 存储数据 1. 配置文件 2. 在网络中传输 * xml

额外说明

mxnet 数据操作

幕布: 文档链接: https://www.mubucm.com/doc/78u6z0TTm-m 密码: fwkd 文章目录 1. 创建NDArray 1.1 模块导入: 1.2 创建行向量: 1.3 获取NDArray实例的形状 1.4 获取NDArr

额外说明

利用memcached构建高性能的Web应用程序(转)

面临的问题 对于高并发高访问的Web应用程序来说,数据库存取瓶颈一直是个令人头疼的问题。特别当你的程序架构还是建立在单数据库模式,而一个数据池连接数峰值已经达到500的时候,那你的程序运行离崩溃的边缘也不远了。很多小网站的开发人员一开始都将注意力放在了产

额外说明

Windows系统缺失找不到advpack.dll文件的解决办法

其实很多用户玩单机游戏或者安装软件的时候就出现过这种问题,如果是新手第一时间会认为是软件或游戏出错了,其实并不是这样,其主要原因就是你电脑系统的该dll文件丢失了或没有安装一些系统软件平台所需要的动态链接库,这时你可以下载这个advpack.dll文件(

ads via 小工具