socket创建TCP服务端和客户端
看情况选择相对应的套接字
*面向连接的传输--tcp协议--可靠的--流式套接字(SOCK_STREAM)
*面向无连接的传输--udp协议--不可靠的--数据报套接字(SOCK_DGRAM)
在liunx中 telnet ip port 可以当成临时客服端
服务端示例: 创建服务端示例:
from socket import * #创建套接字(参数:地址族类型,套接字类型,选定子协议类型)
sockfd = socket(AF_INET,SOCK_STREAM,proto = 0) #绑定地址(功能:绑定地址,参数(ip,port))
sockfd.bind(("0.0.0.0",9099)) #设置监听(参数:监听队列的大小)
sockfd.listen(5) #等待接收连接(会进行阻塞,当客户端连接就往下运行)
#返回值:connfd 新的套接字,用于和客户端通信,add 连接客户端的地址(ip,port)
print("Waiting for connect...")
connfd,addr = sockfd.accept()
print("Connect from",addr) #收发消息(没接收到消息也会进行阻塞)
#参数:一次接收消息的大小字节(bytes格式)
data = connfd.recv(1024)
print(data) #要发送的内容(bytes格式),返回实际发送的字节数
n = connfd.send(b"Receive your message")
print(n)
#关闭套接字
connfd.close()
sockfd.close() 客户端示例:
from socket import * #创建套接字
sockfd = socket(AF_INET,SOCK_STREAM) #发起连接
server_addr = ("127.0.0.1",9099)
sockfd.connect(server_addr) #收发消息
data = input("发送>>")
sockfd.send(data.encode()) #将字符串转换成二进制 data = sockfd.recv(1024)
print("接收到:",data.decode()) #关闭字节套
sockfd.close()
socket创建TCP服务端和客户端的更多相关文章
- swoole创建TCP服务端和客户端
服务端: server.php <?php //创建Server对象,监听 127.0.0.1:9501端口 $serv = new swoole_server("127.0.0 ...
- python创建tcp服务端和客户端
1.tcp服务端server from socket import * from time import ctime HOST = '' PORT = 9999 BUFSIZ = 1024 ADDR ...
- socket创建UDP服务端和客户端
UDP服务端代码示例: from socket import * #1.创建数据报套接字 sockfd = socket(AF_INET, SOCK_DGRAM) #2.绑定服务端地 sockfd.b ...
- go --socket通讯(TCP服务端与客户端的实现)
这篇文章主要使用Go语言实现一个简单的TCP服务器和客户端.服务器和客户端之间的协议是 ECHO, 这个RFC 862定义的一个简单协议.为什么说这个协议很简单呢, 这是因为服务器只需把收到的客户端的 ...
- Java TCP服务端向客户端发送图片
/** * 1.创建TCP服务端,TCP客户端 * 2.服务端等待客户端连接,客户端连接后,服务端向客户端写入图片 * 3.客户端收到后进行文件保存 * @author Administrator * ...
- 【转】TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
[转]TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端).UDP客户端 目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP ...
- 基于Select模型的Windows TCP服务端和客户端程序示例
最近跟着刘远东老师的<C++百万并发网络通信引擎架构与实现(服务端.客户端.跨平台)>,Bilibili视频地址为C++百万并发网络通信引擎架构与实现(服务端.客户端.跨平台),重新复习下 ...
- TCP/UDP简易通信框架源码,支持轻松管理多个TCP服务端(客户端)、UDP客户端
目录 说明 TCP/UDP通信主要结构 管理多个Socket的解决方案 框架中TCP部分的使用 框架中UDP部分的使用 框架源码结构 补充说明 源码地址 说明 之前有好几篇博客在讲TCP/UDP通信方 ...
- vertx 从Tcp服务端和客户端开始翻译
写TCP 服务器和客户端 vert.x能够使你很容易写出非阻塞的TCP客户端和服务器 创建一个TCP服务 最简单的创建TCP服务的方法是使用默认的配置:如下 NetServer server = ve ...
随机推荐
- 初识numpy的多维数组对象ndarray
PS:内容来源于<利用Python进行数据分析> 一.创建ndarray 1.array :将一个序列(嵌套序列)转换为一个数组(多维数组) In[2]: import numpy as ...
- storm(一) window机制
Watermark作用 在解释storm的window之前先说明一下watermark原理. Watermark中文翻译为水位线更为恰当. 顺序的数据从源头开始发送到到操作,中间过程肯定会出现数据乱序 ...
- Putting Apache Kafka To Use: A Practical Guide to Building a Stream Data Platform-part 2
转自: http://confluent.io/blog/stream-data-platform-2 http://www.infoq.com/cn/news/2015/03/ap ...
- erwin逆向工程,logical模型列名修改为中文
逆向工程,应该选择physical template,这样拷贝到logical/physical 模型中,才可以将logical模型的列名修改为中文.
- php中点击下载按钮后待下载文件被清空
在php中设置了文件下载,下载按钮使用表单的方式来提交 <form method="post" class="form-inline" role=&quo ...
- 创建Jmeter中使用的jar包中的工具类方法
1. 在IDEA中新建一个maven工程. 2. 编写工具类方法,如加密算法.此处以加法为例. package DemoTest; public class DemoClass{ public int ...
- 数据库的ACID特性详解
ACID是指在 数据库管理系统(DBMS)中事物所具有的四个特性:原子性.一致性.隔离性.持久性 事物:在数据库系统中,一个事务是指由一系列连续的数据库操作组成的一个完整的逻辑过程.这组操作执行前后, ...
- shell中的常用通配符,字符类
因为 shell 频繁 地使用文件名,shell 提供了特殊字符来帮助你快速指定一组文件名.这些特殊字符叫做通配符. 通配符 意义 * 匹配任意多个字符(包括零个或一个) ? 匹配任意 ...
- TCP_DB_中间件_数据打包格式
ZC: 这里约定的是,C和S之间 传输的TCP数据包的格式 1.TCP数据包 打包格式 1.1.TCP包长度(int32) + TCP包序号(int32) + TCP包类型(int32) + TCP包 ...
- Python模块学习之解决selenium的“can't access dead object”错误
问题描述 在python执行过程中,提示selenium.common.exceptions.WebDriverException: Message: TypeError: can't access ...