day 29 socket 初级版
# 客户端介绍简单版
# import socket
# #1买手机
# phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #SOCK_STREAM 就是TCP协议
# #2 绑定电话卡
# # phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# # phone.connect(('127.0.1',7771)) #0-65535, 但是1 - 1024 系统占用
# phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# phone.connect(('127.0.1',7771))
# #3 接发消息
# phone.send('hello world'.encode('utf-8'))
# data = phone.recv(1024) #1024最大接收的字节数
# print(data.decode('utf-8'))
# phone.close()
# 服务端介绍简单版
# import socket
# #1买手机
# phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM) # AF_INET 套接字的网络类型 SOCK_STREAM 就是TCP协议
# #2 绑定电话卡
# phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# # 获取或者设置与某个套接字关联的选 项
# # SOL_SOCKET 是socket 描述选项
# # SO_REUSEADDR是让端口释放后立即就可以被再次使用。
# phone.bind(('127.0.1',7771)) #ip 和端口 绑定0-65535, 但是1 - 1024 系统占用
# #开机
# phone.listen(5) #代表能挂起监听5个
# #4等电话
# print('waiting') #判断此处开始连接
# conn,addr = phone.accept() #链接 地址
# print(conn)
# # print(addr)
# #接发信息
# data = conn.recv(1024) #最大接收的字节数 #1024最大接收的字节数
# conn.send(data.upper()) #返回内容的
# conn.close()
# phone.close()
# ---------------------
# 运用while 循环 服务端
# import socket
# phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# phone.setsockopt(socket.SOL_SOCKET,socket.SO_REUSEADDR,1)
# phone.bind(('192.168.21.24',8888))
# phone.listen(5)
# print('waiting')
# while True: #链接循环
# conn,addr = phone.accept()
# while True: #通信循环
# try:
# # print(conn)
# data = conn.recv(1024) # #1024最大接收的字节数
# conn.send(data.upper())
# except ConnectionRefusedError:
# break
# conn.close
# phone.close()
# 客户端
# import socket
# phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# phone.connect(('192.168.21.24',8888))
# while True:
# msg = input('>>:').strip()
# if not msg: continue
# phone.send(msg.encode('utf-8'))
# data = phone.recv(1024)
# print(data.decode('utf-8')) #解码
# phone.close()
德胜的聊天版本
# #导入模块
# import socket
# #创建服务端
# phone = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# #绑定客户端
# phone.bind(('192.168.21.24',8088))
# #兼听范围
# phone.listen(5)
# print('等着呢')
# while True:
# conn,addr = phone.accept()
# while True:
# try:
# #收消息,作为服务端先收再处理后发送
# data = conn.recv(1024)
# print(data.decode('utf-8'))
# mag = input('请输入:')
# conn.send(mag.encode('utf-8'))
# except ConnectionResetError:
# break
# conn.close()
# phone.close()
day 29 socket 初级版的更多相关文章
- 02 初级版web框架
02 初级版web框架 服务器server端python程序(初级版): import socket server=socket.socket() server.bind(("127.0.0 ...
- [osg][osgEarth][原]基于OE自定义自由飞行漫游器(初级版)
由于受够了OE的漫游器,想搞个可以在全球飞行的漫游器,所以就做了一个: 请无视我的起名规则······ 类头文件:EarthWalkManipulator.h #pragma once //南水之源 ...
- 希尔排序之C++实现(初级版)
希尔排序之C++实现(初级版) 一.源代码:希尔排序之C++实现(初级版) /*希尔排序基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组. 所有距离为d1的倍数的记录放在同一个 ...
- 直接插入排序(初级版)之C++实现
直接插入排序(初级版)之C++实现 一.源代码:InsertSortLow.cpp /*直接插入排序思想: 假设待排序的记录存放在数组R[1..n]中.初始时,R[1]自成1个有序区,无序区为R[2. ...
- 冒泡排序(初级版)之C++实现
冒泡排序(初级版)之C++实现 一.源代码:BubbleSortLow.cpp /*冒泡排序思想: 从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面: 一轮比 ...
- 利用TCP协议,实现基于Socket的小聊天程序(初级版)
TCP TCP (Transmission Control Protocol)属于传输层协议.其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送.可靠性.有效流控.全双工操作和多路复用 ...
- Fedora 29 Linux发行版发布,新功能使Web开发人员的工作更方便
Matthew Miller宣布发布Fedora 29.这个项目的最新版本是在Fedora Core 1发布后几乎整整15年才发布的,并且可以在多个版本中用于多个体系结构. 最新版本的Fedora已经 ...
- socket初级使用(客户端)
在国庆这段时间里用零星的一些时间看了一下socket的学习资料,由于笔者偏向学习实用方面的内容,因此此篇文章涉及理论知识较少,主要是以实现思路(怎么做)为主,但在实现之前还是需要了解一些基础的理论知识 ...
- day 29 socket 理论
网络编程(socket,套接字) 服务端地址不变 ip + mac 标识唯一一台机器 ip +端口 标识唯一客户端应用程序 套接字: 网络编程 网络编程 一.python提供了两个级别访问的网 ...
随机推荐
- 简单记录下3PC
三PC分为三个阶段:CanCommit,PreCommit, DoCommit 整个分布式系统中,有一个组织者,其他属于参与者,当一个组织者挂了,会从其他可用site中选一个组织者出来,降低阻塞,避免 ...
- Python图片缩放
from PIL import Image def size(jpg,now_size): im = Image.open(jpg) width, height = im.size if width& ...
- docker-compose 在线安装升级
参考:https://docs.docker.com/compose/install/ curl -L "https://github.com/docker/compose/releases ...
- java骰子求和算法
//扔 n 个骰子,向上面的数字之和为 S.给定 Given n,请列出所有可能的 S 值及其相应的概率public class Solution { /** * @param n an intege ...
- introsort(内省排序)
本文转载于:https://blog.csdn.net/sky453589103/article/details/51116264 快速排序是一种很快的算法,它平均的时间复杂度WieO(nlgn), ...
- hdu-6438-贪心
Buy and Resell Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)To ...
- hibernate建表默认为UTF-8编码
一.问题: hibernate自动建表的编码应该是数据默认的编码格式,一般也不是utf-8.所以想要建表默认的编码是UTF-8,应该怎么做呢? 二.解决方法: 拿mysql举例: (一).修改hibe ...
- Nodejs--util模块
util.inspect util.inspect是一个将任意对象转换 为字符串的方法,通常用于调试和错误输出. 它至少接受一个参数 object,即要转换的对象. util.inspect(obje ...
- CSS知识点(三)
十三.标准文档流. 标准文档流下有哪些微观现象? 1.空白折叠现象 多个空格会被合并成一个空格显示到浏览器页面中.img标签换行写.会发现每张图片之间有间隙,如果在一行内写img标签,就解决了这个问题 ...
- HTML5新特性 Web Workers 实现多线程
引子:(JS单线程) 什么是webworker? Web Worker为Web应用程序提供了一种能在后台中运行的方法.通过Web Worker可以生成多个线程同时运行,并保证页面对用户的及时响应,完全 ...