TCP socket 编程

讲一下 socket 编程

步骤
  1. 使用 socket 模块
  2. 建立 TCP socket 客户端和服务端
  3. 客户端和服务端之间的通信
图解

编程

举个例子

tcp_server.py:

import socket
import time s = socket.socket()
s.bind(('', 8888))
s.listen() while True:
client, addr = s.accept() # return conn, addr
print(client)
timestr = time.ctime(time.time()) + '\r\n'
client.send(timestr.encode()) # send 参数 encode('utf-8')
client.close()

tcp_client.py:

import socket

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(('127.0.0.1', 8888))
s.sendall(b'Hello World')
data = s.recv(1024)
print(data.decode())
s.close()

运行结果:


使用 socket 发送 HTTP 请求
  1. 使用 socket 接口发送 HTTP 请求
  2. HTTP 建立在 TCP 基础之上
  3. HTTP 是基于文本的协议
代码如下

socket_send_http.py:

import socket

s = socket.socket()
s.connect(('www.baidu.com', 80)) http = b"GET / HTTP/1.1\r\nHost: www.baidu.com\r\n\r\n"
s.sendall(http)
buf = s.recv(1024)
print(buf)
s.close()

运行结果:

最新文章

  1. HotApp
  2. Smarty模板技术学习(二)
  3. BZOJ_2754__[SCOI2012]_喵星球上的点名_(暴力+后缀数组)
  4. 2.1CUDA-Thread
  5. poj3086---数论
  6. 访问Google神器,魔高一尺,道高一丈!
  7. 自己写RTPserver——大约RTP协议
  8. windows驱动开发前导知识
  9. mysql保存乱码(C#)
  10. js 控制光标到指定位置
  11. Linux之文档与目录结构
  12. sql取逗号前后数据与批量修改某一字段某一值
  13. SqlServer主键
  14. angularjs springMVC 交互
  15. C#抽象类与抽象方法--就是类里面定义了函数而函数里面什么都没有做的类
  16. httpclient RequestConfig类
  17. Python基础:内置常量
  18. laravel的模型和数据库基础操作
  19. ThinkPHP简单结构介绍!
  20. Linux shell ${}简单用法

热门文章

  1. Inter IPP & Opencv + codeblocks 在centos 环境下的配置
  2. c++ gdb调试的基本使用
  3. HttpClient : java.net.SocketException: Connection reset
  4. js第一次学习心得
  5. Python编程中NotImplementedError的使用
  6. VMware安装CentOS后无法无法识别网卡的解决方法
  7. slub分配object
  8. linux常用关机和重启命令
  9. TortoiseSvn客户端介绍
  10. [redis]redis实现分页的方法