# 客户端介绍简单版
# 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 初级版的更多相关文章

  1. 02 初级版web框架

    02 初级版web框架 服务器server端python程序(初级版): import socket server=socket.socket() server.bind(("127.0.0 ...

  2. [osg][osgEarth][原]基于OE自定义自由飞行漫游器(初级版)

    由于受够了OE的漫游器,想搞个可以在全球飞行的漫游器,所以就做了一个: 请无视我的起名规则······ 类头文件:EarthWalkManipulator.h #pragma once //南水之源 ...

  3. 希尔排序之C++实现(初级版)

    希尔排序之C++实现(初级版) 一.源代码:希尔排序之C++实现(初级版) /*希尔排序基本思想: 先取一个小于n的整数d1作为第一个增量,把文件的全部记录分组. 所有距离为d1的倍数的记录放在同一个 ...

  4. 直接插入排序(初级版)之C++实现

    直接插入排序(初级版)之C++实现 一.源代码:InsertSortLow.cpp /*直接插入排序思想: 假设待排序的记录存放在数组R[1..n]中.初始时,R[1]自成1个有序区,无序区为R[2. ...

  5. 冒泡排序(初级版)之C++实现

    冒泡排序(初级版)之C++实现 一.源代码:BubbleSortLow.cpp /*冒泡排序思想: 从第一个元素开始,对数组中两两相邻的元素比较,将值较小的元素放在前面,值较大的元素放在后面: 一轮比 ...

  6. 利用TCP协议,实现基于Socket的小聊天程序(初级版)

    TCP TCP (Transmission Control Protocol)属于传输层协议.其中TCP提供IP环境下的数据可靠传输,它提供的服务包括数据流传送.可靠性.有效流控.全双工操作和多路复用 ...

  7. Fedora 29 Linux发行版发布,新功能使Web开发人员的工作更方便

    Matthew Miller宣布发布Fedora 29.这个项目的最新版本是在Fedora Core 1发布后几乎整整15年才发布的,并且可以在多个版本中用于多个体系结构. 最新版本的Fedora已经 ...

  8. socket初级使用(客户端)

    在国庆这段时间里用零星的一些时间看了一下socket的学习资料,由于笔者偏向学习实用方面的内容,因此此篇文章涉及理论知识较少,主要是以实现思路(怎么做)为主,但在实现之前还是需要了解一些基础的理论知识 ...

  9. day 29 socket 理论

    网络编程(socket,套接字)   服务端地址不变 ip + mac 标识唯一一台机器 ip +端口 标识唯一客户端应用程序 套接字: 网络编程   网络编程 一.python提供了两个级别访问的网 ...

随机推荐

  1. Confluence 6 应该如何在我的空间中组织内容

    页面和博客 你在 Confluence 中创建的任何内容,从会议记录到回顾和任何中间的内容,不管来源是博客和页面. 你的主页将是任何访问你网站中的用户首先看到的内容.为了让用户更加容易的找到他们需要查 ...

  2. SVN入门使用

    1.安装客户端:TortoiseSVN-1.9.7.27907-x64-svn-1.9.7     2.安装服务器:Setup-Subversion-1.8.5.msi 下载地址:http://sou ...

  3. PHP const关键字

    常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...

  4. CF1114E Arithmetic Progression

    给定一个打乱的等差数列,每次两种操作. 1.查询一个位置. 2.查询是否有比x大的数字. 一共60次操作. sol: 30次操作即可二分出首项. 剩下30次操作查询出30个位置然后两两做差取gcd即可 ...

  5. Bipartite Segments CodeForces - 901C (区间二分图计数)

    大意: 给定无向图, 无偶环, 每次询问求[l,r]区间内, 有多少子区间是二分图. 无偶环等价于奇环仙人掌森林, 可以直接tarjan求出所有环, 然后就可以预处理出每个点为右端点时的答案. 这样的 ...

  6. tomcat8 tomcat-users相关配置

    第一步:修改账号密码 vim conf/tomcat-users.xml <role rolename="manager-gui"/> <role rolenam ...

  7. 【Oracle】【4】mybatis insert/update 数据后返回关键字段

    1,插入 insert 场景:ID字段的值是数据库表“默认/表达式”(sys_guid())自动生成,插入一条数据到数据库后,需要获取该条数据的ID 解决方案: (1)Service层生成UUID p ...

  8. php获得时间段的月

    1.时间:$start_time = $_GET['start_time']; //2015-01$end_time = $_GET['end_time']; //2015-052.对时间进行拆分:$ ...

  9. HDU-6336-构造

    Problem E. Matrix from Arrays Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 262144/262144 ...

  10. Oracle11g温习-第十一章:管理undo

    2013年4月27日 星期六 10:40 1.undo tablespace 功能 undo tablespace 功能:用来存放从datafiles 读出的数据块旧的镜像 [             ...