首页 > 其他分享 >Socket客户端实现

Socket客户端实现

时间:2023-08-11 22:34:42浏览次数:34  
标签:socket 实现 server client 发送数据 客户端 连接 Socket

 1 import socket  # 1. 导入内置的socket模块
 2 
 3 # 2. 创建Socket对象
 4 client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
 5 
 6 # 3. 连接服务器
 7 server_address = ('localhost', 18080)
 8 client_socket.connect(server_address)
 9 
10 try:
11     # 4. 发送数据
12     message = 'Hello, server!'
13     client_socket.sendall(message.encode('utf-8'))
14 
15     # 4. 接收数据
16     data = client_socket.recv(1024)  # 如果服务端没有启动或网络问题会报错ConnectionResetError: [WinError 10054] 远程主机强迫关闭了一个现有的连接。
17     print('Received:', data.decode('utf-8'))
18 finally:
19     # 5. 关闭连接
20     client_socket.close()

上述代码首先创建了一个Socket对象,并通过connect()方法连接到指定的服务器地址和端口。

然后,使用sendall()方法发送数据,使用recv()方法接收服务器返回的数据。

最后,使用close()方法关闭连接。

标签:socket,实现,server,client,发送数据,客户端,连接,Socket
From: https://www.cnblogs.com/allenxx/p/17624065.html

相关文章

  • 【源码解析】postgresql having clause 是如何实现的 (2)
    在上一篇中,主要探究了postgresql源码层面是怎么实现聚合函数的。本篇将探究havingclause是如何实现的。setupcreatetablefoo(aint,bint);insertintofooselectrandom()*i/2,random()*ifromgenerate_series(10,20)g(i);selecta,count(b)fromfoogrou......
  • redis客户端
    QuickRedis连接查询RedisInsight参考连接执行命令RedisClient下载地址解压双击exe文件右键Redisservers->Addserver不用填写密码,如果填写密码会报错查看AnotherRedisDeskTopManage下载地址连接查看......
  • 不使用循环语句用if和else实现循环
    如果不使用循环语句,可以使用递归函数来实现循环的效果。递归函数是指在函数内部调用自身的函数。下面是一个使用递归函数来实现循环的示例:(初学者记得写include,这里是个普通函数,所以我没写)defloop(count):ifcount<5:ifcount%2==0:......
  • 三子棋的实现
    1.game.h头文件#defineROW3#defineCOL3#include<stdio.h>#include<stdlib.h>#include<time.h>//初始化棋盘voidinit(charboard[ROW][COL],introw,intcol);//打印棋盘voiddisplayboard(charboard[ROW][COL],introw,intcol);//玩家下棋voidplayermove(......
  • Flutter实现将base64解码为image格式,并展示到页面上
    在Flutter中,你可以使用Image.memory来将Base64解码为图像并将其显示在页面上。下面是一个将Base64解码为图像并展示的示例代码:import'dart:convert';import'package:flutter/material.dart';classBase64ImageextendsStatelessWidget{finalStringbase64String;Bas......
  • 王道408---冒泡排序、快速排序、直接插入排序、希尔排序、二路归并排序、简单选择排序
    一、冒泡排序冒泡排序属于交换类的排序//时间复杂度:O(n^2)//空间复杂度:O(1)//稳定排序算法#include<stdio.h>#include<iostream>usingnamespacestd;intarr[16];voiddebug(){for(inti=1;i<16;i++){printf("%d",arr[i]);}puts("......
  • 开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2等模型,开
    开启想象翅膀:轻松实现文本生成模型的创作应用,支持LLaMA、ChatGLM、UDA、GPT2等模型,开箱即用1.介绍TextGen实现了多种文本生成模型,包括:LLaMA、ChatGLM、UDA、GPT2、Seq2Seq、BART、T5、SongNet等模型,开箱即用。1.1最新更新[2023/06/15]v1.0.0版本:新增ChatGLM/LLaMA/Bloom模......
  • 12个ggplot2扩展包帮你实现更强大的可视化
    ggplot2自从2007年推出以来,成为世界范围内下载最频繁、使用最广泛的R包之一。许多人包括ggplot2的创建人HadleyWickham将这一成功归功于ggplot2背后的哲学。这个软件包的灵感来源于LelandWilkinson编写的《图形语法》一书,在此书中将graphs分解成scales和layers,并将原始数据与表......
  • 微信开发之一键修改好友标签的技术实现
    移除标签下的好友:把需移除的好友所有标签查出来(通讯录详情接口返回标签id,数据库需缓存),去掉想移出的标签id,labelIdList参数放进其他所有标签id。增加标签新好友:把需添加的好友所有标签查出来(通讯录详情接口返回标签id,数据库需缓存),labelIdList参数放进新标签id和原有所有标签id。某......
  • Windows中实现类似tail -f 的命令
    1.说明需要在PowerShell中使用,Shift+鼠标右键,即可出现打开PowerShell窗口的命令,如图:打开之后是这样的2实时查看文件命令类似于Linux中的"tail-f<文件名>"的命令2.1语法结构完整写法get-content[-wait][-encoding字符编码][File]缩写,与完整写法效果是一样的gc[-wait][-en......