socket编程
来源:互联网 发布:富途证券招聘网络销售 编辑:程序博客网 时间:2024/06/07 07:06
setsocketopt(level, optname, value)
getsocketopt(level, optname[, buflen])
level一般是SOL_SOCKET, 表示使用socket选项
TCP和UDP编程的区别
客户端
#UDPfrom socket import *serverName = "hostname"serverPort = 12000clientSocket = socket(AF_NET,SOCK_DGRAM)msg = raw_input("input sonething")clientSocket.sendto(msg,(serverName,serverPort))recvMsg, serverAddr = clientSocket.recvFrom(2048)print(recvMsg)clientSocket.close()#TCPfrom socket import *serverName = "hostname"serverPort = 12000clientSocket = socket(AF_INET, SOCK_STREAM)clientSocket.connect((serverName,serverPort))msg = raw_input("input something")clientSocket.send(msg)recvMsg = clientSocket.recv(1024)print(recvMsg)clientSocket.close()
服务端
#UDPfrom socket import *serverPort = 12000ServerSocket = socket(AF_INET, SOCK_DGRAM)serverSocket.bind(("",serverPort))print("The server is prepared")while True: msg,clientAddr = serverSocket.recvfrom(2048) sendMsg = msg.upper() serverSocket.sendto(sendMsg,clientAddr)#TCPfrom socket import *serverPort = 12000ServerSocket = socket(AF_INET, SOCK_STREAM)serverSocket.bind(("",serverPort))serverSocket.listen(1)print("The server is prepared")while True: connnectedSocket,addr = serverSocket.accept() msg = connectedSocket.recv(1024) sendMsg = msg.upper() connectedSocket.close()
Socket角度理解TCP连接
socket库允许访问本地C套接字库,通过控制网络层协议与传输层协议来控制如何发送数据
import sockets = socket.socket(AF_INET, SOCK_STREAM)
#客户端import sockethost = "localhost"port = 50007with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:#打开socket s.connect((host,port)) #连接至服务器,开始握手 s.sendall(b'Hello World') data = s.recv(1024) #with结束,调用close()开始挥手print("receive:",repr(data))#服务端import sockethost = ""port = 50007with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:#打开socket s.bind((host,port)) #绑定端口 s.listen(1) #每次只处理一个连接请求 conn, addr = s.accept() #当客户端发送请求,开始握手 with conn: print("Connected by ",addr) while True: data = conn.recv(1024) if not data: break #客户端close() conn.sendall(data) #内部with代码块,调用close()
建立TCP连接
阅读全文
0 0
- socket编程--socket基本概念
- socket编程--socket基本概念
- socket编程
- socket编程
- Socket 编程
- socket编程
- Socket编程
- Socket编程
- Socket编程
- Socket编程
- SOCKET编程
- socket编程
- Socket编程
- socket编程
- Socket 编程
- Socket 编程
- socket 编程
- socket编程
- 思科华为华三锐捷交换机端口镜像配置参考
- python对MySQL数据库的操作表单的创建,数据的插入,读取,更新,删除操作
- 贝叶斯算法笔记
- 常见Android Native崩溃及错误原因
- 服网LNMP集群-1.0.5
- socket编程
- Kotlin语法基础
- Linux 下编译自己的 OpenJDK7 包括JVM和JDK API
- [python][库]os库使用方法
- Tkinter之Scrollbar篇
- leetcode 144. Binary Tree Preorder Traversal 二叉树前序遍历 + DFS
- 利用exif.js解决ios手机上传竖拍照片旋转90度问题
- java虚拟机——对象创建与访问概述
- 设计模式