python--DenyHttp项目(1)--socket编程:客户端与服务器端
查找了许多资料,实现了客户端与服务器端的连接,通过虚拟机进行测试
服务器端IP:192.168.37.129 端口1122
客户端IP: 192.168.37.1 端口1122
Server:
#coding:utf-8 from socket import * class Dserver(): def __init__(self): self.HOST = '192.168.37.129' self.PORT = 1122 self.BUFSIZE = 1024 self.ADDR = (self.HOST, self.PORT) self.sock = socket(AF_INET, SOCK_STREAM) self.sock.bind(self.ADDR) def listener(self): self.sock.listen(5) STOP_CHAT = False while not STOP_CHAT: print('等待接入,侦听端口:%d' % (self.PORT)) topClientSock, addr = self.sock.accept() print('接受连接,客户端地址:',addr[0]) while True: try: data = topClientSock.recv(self.BUFSIZE) except: topClientSock.close() print("服务器关闭!") break if not data: print("数据为空") break s='把服务器收到的从%s发送给我的信息:%s 发回来' %(addr[0],data.decode('utf-8')) print(s) topClientSock.send(s.encode('utf-8')) print(data.decode('utf-8')) STOP_CHAT=(data.decode('utf-8').upper()=="QUIT") if STOP_CHAT: break topClientSock.close() self.sock.close() if __name__ == '__main__': serverDemo = Dserver() serverDemo.listener()
Client:
#coding:utf-8 from socket import * class Dclient(): def __init__(self): self.HOST = '192.168.37.129' self.PORT = 1122 self.BUFSIZE = 1024 self.ADDR = (self.HOST, self.PORT) def listener(self): self.client = socket(AF_INET,SOCK_STREAM) self.client.connect(self.ADDR) while True: data = input('>') if not data: break self.client.send(data.encode('utf-8')) print('发送消息给%s: %s' % (self.HOST, data)) if data.upper() == 'QUIT': break data = self.client.recv(self.BUFSIZE) if not data: break print('接受的消息 %s' % (data.decode('utf-8'))) if __name__ == '__main__': clientDemo = Dclient() clientDemo.listener()
测试数据:
python--DenyHttp项目(1)--socket编程:客户端与服务器端的更多相关文章
- Socket编程——客户端,服务器端的读写操作
URL网络编程,最大的特征就是一对一的响应! 1:客户端“写”,服务器端用于“读” package coreBookSocket2; import java.io.InputStreamReader; ...
- Python之路,Day8 - Socket编程进阶
Python之路,Day8 - Socket编程进阶 本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...
- 【爬坑】Python 3.6 在 Socket 编程时出现类型错误 TypeError: a bytes-like object is required, not 'str'
1. 问题描述 Python 3.6 在 Socket 编程时出现错误如下 Traceback (most recent call last): File "F:/share/IdeaPro ...
- Python(七)Socket编程、IO多路复用、SocketServer
本章内容: Socket IO多路复用(select) SocketServer 模块(ThreadingTCPServer源码剖析) Socket socket通常也称作"套接字" ...
- Python网络编程之socket编程
什么是Socket? Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面 ...
- Python socket编程客户端与服务端通信
[本文出自天外归云的博客园] 目标:实现客户端与服务端的socket通信,消息传输. 客户端 客户端代码: from socket import socket,AF_INET,SOCK_STREAM ...
- python 基础(十五) socket编程
SOCKET TCP协议: 有请求 有响应 称之为 tcp协议 是面向连接的协议 就是在收发数据之前 必须先要建立一个可靠的链接 三次握手 如:网站 UDP协议: 是一个非链接的协议 传输之前不需要键 ...
- Day8 - Python网络编程 Socket编程
Python之路,Day8 - Socket编程进阶 本节内容: Socket语法及相关 SocketServer实现多并发 Socket语法及相关 socket概念 socket本质上就是在2台 ...
- 基于win32的socket编程及程序实现
初步研究了win32平台的Windows Sockets,它是Microsoft Windows的网络程序设计接口,它是从Berkeley Sockets扩展而来的,以动态链接库的形式提供给我们使用. ...
- 读懂Java中的Socket编程
Socket,又称为套接字,Socket是计算机网络通信的基本的技术之一.如今大多数基于网络的软件,如浏览器,即时通讯工具甚至是P2P下载都是基于Socket实现的.本文会介绍一下基于TCP/IP的S ...
随机推荐
- [leetcode-557-Reverse Words in a String III]
Given a string, you need to reverse the order of characters in each word within a sentence whilestil ...
- 遇到scan configurtation CDT builder等的错误
可以直接propoerty中的builder中把这两项删除
- Linux文件属性上
文件属性概述(ls -lhi) linux里一切皆文件Linux系统中的文件或目录的属性主要包括:索引节点(inode),文件类型,权限属性,链接数,所归属的用户和用户组,最近修改时间等内容: 解释: ...
- 微信小程序知识总结及案例集锦
微信小程序知识总结及案例集锦 微信小程序的发展会和微信公众号一样,在某个时间点爆发 学习路径 微信小程序最好的教程肯定是官方的文档啦,点击这里直达 微信官方文档 认真跟着文档看一遍,相信有vue前端经 ...
- 多线程下System.Security.Cryptography.Aes CreateDecryptor报“Safe handle has been closed”的解决方案
因为系统需要对一些核心数据进行预加载以保证查询速度. 所以在application_start 事件中启用了后台线程对相关的数据进行加载并解密(为了保证解密的效率,将AES对像做了静态对像来保存:pr ...
- 使用C#创建简单的WCF服务
一.开发环境 操作系统:Windows 10 开发环境:VS2015 编程语言:C# IIS版本:10.0.0.0 二.添加WCF服务.Internet Information Services(II ...
- 使用C#创建SQLite桌面应用程序
本文属于原创,转载请注明出处,谢谢! 一.开发环境 操作系统:Windows 10 X64 开发环境:VS2015 编程语言:C# .NET版本:.NET Framework 4.0 目标平台:X86 ...
- 如何通过css设置表格居中
CSS控制整个表格居中,不只是让表格里的文字居中,是整个表格居中1. 不用table的Align="center",要用CSS实现2. 不加<center></c ...
- CJOJ 1087 【NOIP2010】乌龟棋 / Luogu 1541 乌龟棋(动态规划)
CJOJ 1087 [NOIP2010]乌龟棋 / Luogu 1541 乌龟棋(动态规划) Description 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 乌龟棋的棋盘是一行N个格子,每个 ...
- POJ 3683 Priest John's Busiest Day / OpenJ_Bailian 3788 Priest John's Busiest Day(2-sat问题)
POJ 3683 Priest John's Busiest Day / OpenJ_Bailian 3788 Priest John's Busiest Day(2-sat问题) Descripti ...