服务端代码:

import socket

def main():
sock=socket.socket()
sock.bind(('localhost',8089))
sock.listen(5)
while True:
connection,address=sock.accept()
buf=connection.recv(1024)
print(buf.decode('utf8'))
# http协议头是文本形式, 以\r\n作为每个字段的分隔, 最后头部以\r\n结束, 所以我们主要构造好 http头, 浏览器就能识别的, 接下来的正文, 就能按照html的标准的编写了
connection.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n", 'utf8'))
connection.sendall(bytes("<h1 style='color:red'>NBA</h1>",'utf8'))
# with open("hellow.html",'rb') as f:
# data=f.read() connection.close() if __name__=="__main__":
main()

然后在浏览器发送信息,效果如图:

最好是在谷歌浏览器下运行,运行一直失败或者浏览器端显示链接失败,127.0.0.1 发送的响应无效。原因是可能被防火墙拦截了,尝试关掉下。如果都没问题,那主要是因为有段代码要写

connection.sendall(bytes("HTTP/1.1 201 OK\r\n\r\n", 'utf8')),这是以http协议头是文本形式,构造好 http头, 浏览器就能识别。没有的话,有的浏览器会报错,接收不到服务端发送来的数据

用socket发送信息在浏览器上显示出来的更多相关文章

  1. 在web浏览器上显示室内温度(nodeJs+arduino+socket.io)

    上次的nodejs操作arduino入门篇中实现了如何连接arduino.这次我们来实现通过arduino测量室内温度并在浏览器上显示出来. [所需材料] 硬件:LM35温度传感器,arduino u ...

  2. 安卓使用Socket发送中文,C语言服务端接收乱码问题解决方式

    今天用安卓通过Socket发送数据到电脑上使用C语言写的服务端,发送英文没有问题,可当把数据改变成中文时,服务端接收到的数据确是乱码. 突然想到.VS的预处理使用的是ANSI编码.而安卓网络数据都是U ...

  3. day29 python 套接字socket TCP udp 形式发送信息的区别

    我们经常把socket翻译为套接字,socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用已实现进程在网络中通信. socket起源于UNIX,在 ...

  4. java在线聊天项目0.5版 解决客户端向服务器端发送信息时只能发送一次问题 OutputStreamWriter DataOutputStream socket.getOutputStream()

    没有解决问题之前客户端代码: package com.swift; import java.awt.BorderLayout; import java.awt.Color; import java.a ...

  5. h5页面在浏览器上好好的,到手机上熄火了又看不到报错信息怎么办?

    背景 最近小编接了一个新需求,用h5开发页面,通过webview嵌入原生APP中,自己在浏览器上开发爽歪歪,什么信息都能看到,可是一嵌入原生app中,瞬间就熄火了,啥也看不到了,不知道为什么,反正就是 ...

  6. socket 套接字服务器端和客户端发送信息

    import socket import threading host='' port=6889 def cilenThred(conn,addr): print("成功接受客户端{}的连接 ...

  7. write---向指定登录用户终端上发送信息

    write命令用于向指定登录用户终端上发送信息.通过write命令可传递信息给另一位登入系统的用户,当输入完毕后,键入EOF表示信息结束,write命令就会将信息传给对方.如果接收信息的用户不只登入本 ...

  8. socket发送、接收信息----UDP

    # 导入套接字包 import socket def welcome(): print("------欢迎进入UDP聊天器--------") print("1.发送信息 ...

  9. linux上给其他在线用户发送信息(wall, write, talk, mesg)

        linux上给其他在线用户发送信息(wall, write, talk, mesg)   2018-01-05 lonskyMR 转自 恶之一眉 修改 微信分享: 设置登录提示     /et ...

随机推荐

  1. 怎么检测浏览器有没有flash播放器

    虽然现在大多浏览器都支持了HTML5的新特性,可以直接在网页上播放视频,通过<video>标签即可,但是大多数的浏览器对H5支持还是不够完整,或者很多用户还没有把浏览器升级到最新的版本,尤 ...

  2. Netty 学习资料

    Netty 学习资料 Netty 学习资料 链接网址 说明 Netty 4.x 用户指南 http://wiki.jikexueyuan.com/project/netty-4-user-guide/ ...

  3. dojo DataGrid实现表格数据编辑的解决方案

    在官网上看见的DataGrid编辑非常简单,但我实现的时候总是出现问题.经过N久的摸索,终于搞定了,期间出现了多处困难,下面说些解决办法的流程. 我实现的表格在页面加载时是不显示数据,只有通过表单像服 ...

  4. SparkStreaming整合kafka编程

    1.下载spark-streaming-kafka插件包 由于Linux集群环境我使用spark是spark-2.1.1-bin-hadoop2.7,kafka是kafka_2.11-0.8.2.1, ...

  5. gpio模拟I2C,驱动pcf8574T

    一.pcf8574T介绍 查看pcf8574T的数据手册, A表示读或写,当A为1的时候表示读,当A为0的时候表示写.现把地址控制线,即A2.A1.A0全部接地,可以得到读控制指令为0x41,写控制指 ...

  6. php访问SQLserver时加载的dll

    php_sqlsrv_55_ts.dll 线程t安全sphp_sqlsrv_55_nts.dll 非n线程t安全s

  7. Python selenium —— selenium与自动化测试成神之路

    From: https://blog.csdn.net/huilan_same/article/details/52559711 忽然想谈谈自动化的学习路径,因为发现很多人总是急于求成,不懂该如何学习 ...

  8. MOngoDB为现有数据添加或删除某一字段

    var lst =db.getCollection('config').find({}); while(lst.hasNext()) { var site=lst.next(); db.config. ...

  9. mac下面 ,启动2个桌面版appium的方法

    分别打开2个终端,分别输入 appium 就可以分别起2个appium桌面版,然后设置端口 即可 参考: https://blog.csdn.net/qq_15283475/article/detai ...

  10. 学习笔记之机器学习实战 (Machine Learning in Action)

    机器学习实战 (豆瓣) https://book.douban.com/subject/24703171/ 机器学习是人工智能研究领域中一个极其重要的研究方向,在现今的大数据时代背景下,捕获数据并从中 ...