tcp客户端程序开发

话不多说,直接进入正题

一:客户端一共分为5大块:

1.创建客户端套接字

2.和服务端套接字建立连接

3.发送数据

4.接收发送

5.关闭客户端套接字

二:socket类的介绍

导入 socket 模块
import socket

创建客户端 socket 对象
socket.socket(AddressFamily, Type)

send(data) 表示发送数据,data是二进制数据

recv(buffersize) 表示接收数据, buffersize是每次接收数据的长度

三:程序开发

import socket

def main():    # 创建tcp客户端套接字    tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)    # 和服务端应用程序建立连接    tcp_client_socket.connect(("192.168.28.1", 6666))    # 准备发送的数据    send_data = "你好,请问是服务器吗!".encode("gbk")    # 发送数据    tcp_client_socket.send(send_data)    # 接收数据, 接收的数据最大字节数是1024    recv_data = tcp_client_socket.recv(1024)    # 返回的直接是服务端程序发送的二进制数据    print(recv_data)    # 对数据进行解码    recv_content = recv_data.decode("gbk")    print("接收服务端的数据为:", recv_content)    # 关闭套接字    tcp_client_socket.close()if __name__ == ‘__main__‘:    main()

*****************************************

如果看客们不太理解的话,我给大家举个例子:

创建套接字  相当于买手机

和服务端建立连接 相当于你把电话打给谁

发送数据 相当于你打通电话想跟对方说的话

接收数据 相当于你收到了对方说的话

关闭客户端 相当于电话打完了,挂断电话

说到这是不是好理解些呢?

*****注意点*****windows的编码格式是gbkmac os的编码格式是utf-8

参数1: ‘AF_INET’, 表示IPv4地址类型

参数2: ‘SOCK_STREAM’, 表示TCP传输协议类型

********************************************************************

第一次发博客,博客园还不太会用,如果大家喜欢的话,以后会不定时更新博客,

希望大佬们嘴下留情,小弟就是一小白,有什么改进的请留言;

         谢谢了!


 

原文地址:https://www.cnblogs.com/python-No/p/12014212.html

时间: 2024-10-09 16:10:03

tcp客户端程序开发的相关文章

linux网络编程 基于TCP的程序开发

面向连接的TCP程序设计 基于TCP的程序开发分为服务器端和客户端两部分,常见的核心步骤和流程: 其实按照上面这个流程调用系统API确实可以完全实现应用层程序的开发,一点问题没有.可随着时间的推移,你会觉得这样子的开发毫无激情.为什么TCP的开发就要按照这样的流程来呢?而且一般出的问题几乎都不在这几个系统调用上,原因何在?当我们弄清网络开发的本质,协议栈的设计原理.数据流向等这些问题的答案也就会慢慢浮出水面了.接下来这几篇博文主要是围绕网络编程展开,目的是引出后面对于Linux下TCP/IP协议

CRM 客户端程序开发:根据主键使用OData获取记录的值

根据官方的建议,在表单界面使用OData终结点最好使用REST版本,而不是jQuery版本,所以我这个示例是按照官方的建议来做的. 因为我的JavaScript水平不怎么高,我就直接利用SDK里面的示例辅助JavaScript类库吧.这个类库的位置在 SDK\SampleCode\JS\RESTEndpoint\JavaScriptRESTDataOperations \JavaScriptRESTDataOperations\Scripts. 我将这个文件夹下面的 SDK.REST.js 和

28-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(官方API版,非RTOS版)

https://www.cnblogs.com/yangfengwu/p/11432795.html 注:这节实现的功能是WIFI模块作为TCP 客户端,连接咱的TCP服务器,然后实现透传 本来想着做成断线重连,但是无论如何测试,使用官方给的API默认大约2个小时以后就会主动断开连接...... 其实和咱 https://www.cnblogs.com/yangfengwu/p/11112014.html  (TCP 服务器差不多) 先看下程序测试 (连接路由器测试,让电脑和WIFI连接同一个路

CRM 客户端程序开发:获取表单界面上各种字段的值及其他属性

我们写程序常用的就是获取字段的值,对于不同的字段类型,通过getValue() 获取到的值如下,这个表摘自SDK中的 Xrm.Page.data.entity attribute (client-side reference) 章节. Attribute Type Return Type boolean Boolean datetime Date To get the string version of a date using the Microsoft Dynamics CRM user's

CRM 客户端程序开发:设置实体表单界面字段的值

为了方便演示,我这里新建一个实体,实体定义如下: 还为它定义了如下的自定义字段,每种可定义的类型都有,基本上都是使用默认设置: 并且修改了它的窗体类型为主要的窗体,使它新建记录的界面如下所示: 我这里用代码演示,新建记录的时候为每个字段设置默认值.代码当然是JavaScript代码,需要放到类型为JScript的Web资源中,上传到CRM中并发布,然后和事件挂钩,这样就可以执行了. 我打开以前新建的解决方案,右击 CrmPackge 项目下面的 WebResources 文件夹,选择 添加 >

CRM 客户端程序开发:自定义系统标准按钮的可用性

一般是新建一个解决方案用于客制化命令栏和Ribbon区,我这里是新建了一个 RibbonEditor的解决方案,然后将你要修改的实体加入进来. 我这里是选择 报价单 实体,然后点击 确定 按钮. 在 CRM > 设置 > 解决方案页面 点击 自定义 图标. 选择前面建立的解决方案,然后点击 OK 按钮. 确保选择的选项卡是Command Bar,因为我这里要修改的实体是Dynamics CRM 2013版本中的更新的实体.在 ENTITIES 中选择你要修改的实体,上面部分就会更新成你选择实体

网络编程之TCP客户端开发和TCP服务端开发

开发 TCP 客户端程序开发步骤 创建客户端套接字对象 和服务端套接字建立连接 发送数据 接收数据 关闭客户端套接字 import socket if __name__ == '__main__': # 创建tcp客户端套接字 # 1. AF_INET:表示ipv4 # 2. SOCK_STREAM: tcp传输协议 tcp_client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) # 和服务端应用程序建立连接 tcp_c

TCP程序开发步骤

TCP是面向连接的协议,需要通信双方首先建立一个连接.因为TCP可靠.稳定的特点,它被应用于大部分场合,但它对系统资源要求比较高. TCP协议服务端程序的开发流程如下所示. // 初始化Winsock库,获得协议版本 // 创建服务Socket对象 (指定协议类型,地址族信息) // 绑定Socket (将指定的IP,端口绑定给Socket) // 开始监听,并且设置监听数量. (开始监听后,客户端就可以连接成功) // 开启端口,接收连接 // 收发数据(利用建立连接的Socket对象进行通信

JAVA笔记15__TCP服务端、客户端程序 / ECHO程序 /

/** * TCP:传输控制协议,采用三方握手的方式,保证准确的连接操作. * UDP:数据报协议,发送数据报,例如:手机短信或者是QQ消息. */ /** * TCP服务器端程序 */ public class Main { public static void main(String[] args) { try { ServerSocket s1 = new ServerSocket(57712); //创建一个服务器端socket System.out.println("服务器已启动,正在