day29

socket套接字

  • socket是处于应用层与传输层之间的抽象层,他是一组操作起来非常简单的接口(接受数据)此接口接受数据之后,交由操作系统.

    为什么存在socket抽象层?

    如果直接与操作系统数据交互非常麻烦,繁琐,socket对这些繁琐的操作高度的封装,简化.

  • socket在python中就是一个模块.

基于TCP协议的socket简单通信

服务端
import socket

# 买电话
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 默认基于TCP协议的socket # 绑定电话卡
phone.bind(('192.168.14.198',8848)) # 绑定IP地址和端口 # 开机监听
phone.listen(5)
print(111) # 等待连接
conn, addr = phone.accept() # 阻塞
print(conn,addr) from_client_data = conn.recv(1024) # 至多接受1024个字节 阻塞
print(f'来自客户端{addr[0]}的消息:{from_client_data.decode("utf-8")}') to_client_data = input('>>>')
conn.send(to_client_data.encode('utf-8'))
conn.close()
phone.close()
客户端
import socket

# 买电话
phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # 默认基于TCP协议的socket # 拨号打电话
phone.connect(('127.0.0.1',8848))
data = input('请输入>>>') phone.send(data.encode('utf-8'))
from_server_data = phone.recv(1024)
print(f'来自服务端的消息:{from_server_data}') # 关闭电话
phone.close()

基于TCP协议的socket通信循环

day29——socket套接字(少量不全)的更多相关文章

  1. Python开发基础-Day23try异常处理、socket套接字基础1

    异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...

  2. python基础之try异常处理、socket套接字基础part1

    异常处理 错误 程序里的错误一般分为两种: 1.语法错误,这种错误,根本过不了python解释器的语法检测,必须在程序执行前就改正 2.逻辑错误,人为造成的错误,如数据类型错误.调用方法错误等,这些解 ...

  3. java 25 - 3 网络编程之 Socket套接字

    Socket Socket套接字: 网络上具有唯一标识的IP地址和端口号组合在一起才能构成唯一能识别的标识符套接字. Socket原理机制: 通信的两端都有Socket. 网络通信其实就是Socket ...

  4. 进程、线程、socket套接字-资源大小 & 切换代价

    另,进程 & 线程的很多知识可以看这里:http://www.cnblogs.com/charlesblc/p/6135666.html 今天查了一下进程和线程的资源占用. 比如问:栈和堆的大 ...

  5. linux网络环境下socket套接字编程(UDP文件传输)

    今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中, ...

  6. linux网络编程-(socket套接字编程UDP传输)

    今天我们来介绍一下在linux网络环境下使用socket套接字实现两个进程下文件的上传,下载,和退出操作! 在socket套接字编程中,我们当然可以基于TCP的传输协议来进行传输,但是在文件的传输中, ...

  7. socket套接字TCP API

    socket套接字TCP API socket概念 socket又称"套接字",是计算机网络中进程间通信数据通道的一个端点.或称之为句柄.IP地址+port号就能够唯一确定一个so ...

  8. 进程间通信系列 之 socket套接字实例

    进程间通信系列 之 概述与对比   http://blog.csdn.net/younger_china/article/details/15808685  进程间通信系列 之 共享内存及其实例   ...

  9. 进程间通信系列 之 socket套接字及其实例

    进程间通信系列 之 概述与对比   http://blog.csdn.net/younger_china/article/details/15808685  进程间通信系列 之 共享内存及其实例   ...

随机推荐

  1. 洛谷 P2341 [HAOI2006]受欢迎的牛 题解

    今天学了强连通分量的Tarjan算法,做了这道类似于板子题的题(尽管我调了1.5h).主要的思路是用Tarjan缩点之后,求每个点的入度(实际上是出度,因为我是反着连边的).如果 有且只有一个点的入度 ...

  2. Mybatis02

    1.mybatis动态sql   foreach 添加接口方法 编写BookVo类 BookMapper.xml 测试 结果 2.模糊查询 3.查询返回结果集 resultMap:适合使用返回值是自定 ...

  3. 关于异常System.ArgumentException

    什么是System.ArgumentException 当向方法提供的参数之一无效时引发的异常. 继承 Object Exception SystemException ArgumentExcepti ...

  4. Java为什么没有指针

    为了摒弃指针带来的风险(当然了,也就放弃了指针带来的效率). 1.C/C++为什么有指针? 这个很简单,程序都是在内存中运行的,只要有内存,就有内存地址,有地址,就必然有指针,只是C++对内存地址的访 ...

  5. TypeScript之Https通信

    NetWorkRequest.ts(源代码如下) import * as https from "https"; import * as vscode from 'vscode'; ...

  6. Net core学习系列(一)——Net Core介绍

    一.什么是Net Core .NET Core是适用于 windows.linux 和 macos 操作系统的免费.开源托管的计算机软件框架,是微软开发的第一个官方版本,具有跨平台 (Windows. ...

  7. 定制比特币btc地址address

    https://99bitcoins.com/how-to-get-a-custom-bitcoin-address/ https://en.bitcoin.it/wiki/Vanitygen htt ...

  8. MySQL中的比较操作符<=>

    对于=操作符,两个值被比较,结果是0(不相等)或者1(相等). 比较操作符<=>表示NULL安全的等价.这个比较操作符执行等价比较,和=操作符类似,但是如果两个操作数都是NULL,会返回1 ...

  9. firewall防火墙常用操作

    # firewall防火墙常用操作 - 启动```systemctl start firewalld```- 停止```systemctl stop firewalld```- 重启```system ...

  10. java8 中 ImageIO 读取 tiff 格式的图片失败

    在java8 及之前版本中,jdk 中的 ImageIO 读取图片内容会失败,解决办法使用 java9 或者使用第三方插件. 插件可以使用 TwelveMonkeys ImageIO,地址:https ...