socket编程
来源:互联网 发布:淘宝宝贝如何分享 编辑:程序博客网 时间:2024/05/29 18:55
#sokect编程#1 TCP变成#1.1 、客户端import socket# 创建一个 socket:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 建立连接:s.connect(('www.sina.com.cn', 80))s.send(b'GET / HTTP/1.1\r\nHost: www.sina.com.cn\r\nConnection:close\r\n\r\n')buffer = []while True: d = s.recv(1024) if d: buffer.append(d) else: breakdata = b''.join(buffer)print(data.decode())s.close()#1.2 服务器import socketimport threadingimport timedef tcplink(sock, addr): print('a new connect from %s:%s' % addr) sock.send(b'welcome!') while True: data = sock.recv(1024) time.sleep(1) if not data or data.decode('utf-8') == 'exit': break sock.send(('Hello %s!' % data).encode('utf-8')) sock.close() print('connet from %s:%s closed' %addr)# 创建一个 socket:s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)s.bind(('127.0.0.1',9999))s.listen(5)print('wait............')while True: sock,addr = s.accept() t = threading.Thread(target=tcplink,args=(sock,addr)) t.start()#创建一个客户端连接服务器import sockets = socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.connect(('127.0.0.1',9999))print(s.recv(1024).decode('utf-8'))for data in [b'Mic',b'Tra',b'Sar']: s.send(data) print(s.recv(1024).decode('utf-8'))s.send(b'exit')s.close()#2、UDP链接#2.1 服务器import socketimport threadingimport times = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)# 绑定端口:s.bind(('127.0.0.1', 9999))print('Bind UDP on 9999...')while True: # 接收数据: data, addr = s.recvfrom(1024) print('Received from %s:%s.' % addr) s.sendto(b'Hello, %s!' % data, addr)#2.2客户端import sockets = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)for data in [b'Michael', b'Tracy', b'Sarah']: # 发送数据: s.sendto(data, ('127.0.0.1', 9999)) # 接收数据: print(s.recv(1024).decode('utf-8'))s.close()
阅读全文
0 0
- socket编程--socket基本概念
- socket编程--socket基本概念
- socket编程
- socket编程
- Socket 编程
- socket编程
- Socket编程
- Socket编程
- Socket编程
- Socket编程
- SOCKET编程
- socket编程
- Socket编程
- socket编程
- Socket 编程
- Socket 编程
- socket 编程
- socket编程
- guava
- 查看源码 throw new RuntimeException("Stub!") 教你使用AndroidStudio关联源代码
- jQuery实现轮播图(一)
- 4个你未必知道的内存小知识
- lsof命令
- socket编程
- BootstrapSelect参数方法
- js获取超链接的文字内容并放到input中。
- linux设置分区
- poj2553 The Bottom of a Graph【强连通】
- 抽象工厂模式
- 【hdu 2012】 素数判定
- 准备VMware的安装与linux系统的安装1
- Port 8080 required by Tomcat v7.0.78 Server at localhost is already in use.