socket编码问题
server.py
import socket
ip_port = ('127.0.0.1',9999)
sk = socket.socket()
sk.bind(ip_port)
sk.listen(5) while True:
# 服务端阻塞,等待客户端请求
conn,addr = sk.accept()
# 2.7 sendall(str)
# 3.5 sendall(bytes) # 欢迎登陆 =》\xe6\xac\xa2\xe8\xbf\x8e\xe7\x99\xbb\xe9\x99\x86
# bytes('欢迎登陆', 'utf-8')
conn.sendall(bytes('欢迎登陆', 'utf-8')) while True:
client_data = conn.recv(1024)
if not client_data:
break
reply = str(client_data, 'utf-8')
conn.sendall(bytes(reply, 'utf-8')) conn.close()
client.py
import socket
ip_port = ('127.0.0.1', 9999)
sk = socket.socket()
sk.connect(ip_port) while True:
# recv返回值=字节类型
server_reply_bytes = sk.recv(1024)
#\xe6\xac\xa2\xe8\xbf\x8e\xe7\x99\xbb\xe9\x99\x86
# 字符串 = str(字节, 'utf-8')
reply_str = str(server_reply_bytes, 'utf-8')
# reply_str="欢迎登录"
print(reply_str) # 字符串->字节 bytes(字符串,'utf-8')
# 字节 -> 字符串 str(字节,'utf-8') inp = input("input:") sk.sendall(bytes(inp, 'utf-8')) sk.close()
socket编码问题的更多相关文章
- python全栈开发day29-网络编程之socket常见方法,socketserver模块,ftp作业
一.昨日内容回顾 1.arp协议含义 2.子网,子网掩码 3.两台电脑在网络中怎么通信的? 4.tcp和udp socket编码 5.tcp和udp协议的区别 6.tcp三次握手和四次挥手,syn洪攻 ...
- linux网络编程之socket编程(一)
今天开始,继续来学习linux编程,这次主要是研究下linux下的网络编程,而网络编程中最基本的需从socket编程开始,下面正式开始学习: 什么是socket: 在学习套接口之前,先要回顾一下Tcp ...
- Flex通信-Java服务端通信实例
转自:http://blessht.iteye.com/blog/1132934Flex与Java通信的方式有很多种,比较常用的有以下方式: WebService:一种跨语言的在线服务,只要用特定语言 ...
- java初学者必看经典
配置java环境变量: JAVA_HOME:配置JDK的目录 CLASSPATH:指定到哪里去找运行时需要用到的类代码(字节码) PATH:指定可执行程序的位置 LINUX系统(在" .ba ...
- java面试第十五天
网络编程: 多线程+网络: 1.服务器端的等待客户连接代码( while(true) ),服务器端与单个客户端交互的代码放入线程体( run ) 2.客户端如有其他要求,与服务器交互的代码也要放入线程 ...
- java基础笔记(7)
Socket编程 通信基础:ip地址(位置).协议(语言).端口(软件程序): java提供网络功能的四大类: InetAddress没有构造函数,不够里面有一些方法是可以返回实例,如: InetAd ...
- 我的服装DRP之即时通讯——为WCF增加UDP绑定(应用篇)
发个牢骚,博客园发博文竟然不能写副标题.这篇既为我的服装DRP系列第二篇,也给为WCF增加UDP绑定系列收个尾.原本我打算记录开发过程中遇到的一些问题和个人见解,不过写到一半发现要写的东西实在太多,有 ...
- iOS开发之Socket通信实战--Request请求数据包编码模块
实际上在iOS很多应用开发中,大部分用的网络通信都是http/https协议,除非有特殊的需求会用到Socket网络协议进行网络数 据传输,这时候在iOS客户端就需要很好的第三方CocoaAsyncS ...
- Delphi和JAVA用UTF-8编码进行Socket通信例子
最近的项目(Delphi开发),需要经常和java语言开发的系统进行数据交互(Socket通信方式),数据编码约定采用UTF-8编码. 令我无语的是:JAVA系统那边反映说,Delphi发的数据他们收 ...
随机推荐
- Render Texture coordinates
https://docs.unity3d.com/550/Documentation/Manual/SL-PlatformDifferences.html Render Texture coordin ...
- fetch的用法
fetch api是被设计用来替换XmlHttpRequest的,详细用法如下: http://javascript.ruanyifeng.com/bom/ajax.html#toc27
- Memcachedclientutils类
0.个人标签 我的CSDN博客地址: http://blog.csdn.net/caicongyang 1.依赖的jar包 commons-pool-1.5.6.jar slf4j-api-1.6.1 ...
- ColorSchemer Studio 2 破解
软件介绍: ColorSchemer Studio 2 is a professional color matching application for anyone from hobbyists t ...
- struts2 接口如何接收客户端提交的json数据
struts2 接口如何接收客户端提交的json数据 CreationTime--2018年6月20日15点54分 Author:Marydon 1.情景还原 使用struts2写的接口(服务端) ...
- mongoDB 高级查询之复杂查询$where
http://blog.csdn.net/drifterj/article/details/7833883
- centos7下安装openvpn,访问内网服务器 (二) windows访问
一.简介 在上一章中已经安装好了openvpn,并且已经启动成功,现在就可以通过openvpn的客户端进行连接访问内网服务器了. 二.安装openvpn客户端 下载地址: https://www.te ...
- 转: android emulator 命令详解
在命令行输入: emulator -help,即可显示emulator支持的所有命令. Android Emulator usage: emulator [options] [-qemu args] ...
- 如何下载PDF?
IIS MIME类型配置: application/octet-stream
- Linux系统中磁盘block和windos中的簇一个意思
block就是几个连续扇区组成一个block,每个分区可以设置block大小,好比一个txt只有2字节,但是这个分区的block为4K,那么其实这个txt需要4k来存储(所以大文件block设置大比较 ...