python socket
Posted F
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python socket相关的知识,希望对你有一定的参考价值。
套接字socket
套接字起源于 20 世纪 70 年代加利福尼亚大学伯克利分校版本的 Unix,即人们所说的 BSD Unix。 因此,有时人们也把套接字称为“伯克利套接字”或“BSD 套接字”。一开始,套接字被设计用在同 一台主机上多个应用程序之间的通讯。这也被称进程间通讯,或 IPC。套接字有两种(或者称为有两个种族),分别是基于文件型的和基于网络型的。
基于tcp下的socket
server
import socket #引入模块 server=socket.socket() #创建server对象 ip_port=(\'192.168.15.78\',8888) #声明服务端的IP和程序端口 server.bind(ip_port) #把ip_port绑定到对象 server.listen() #监听 while 1: conn,addr=server.accept() #等待客户端连接 while 1: server_msg=input(\'服务端:\') conn.send(server_msg.encode(\'utf-8\')) #向客户端发送消息 from_client_msg=conn.recv(1024) #接收客户端消息 print(from_client_msg.decode(\'utf-8\')) if from_client_msg.decode(\'utf-8\')==\'byebye\': #如果收到消息为byebye,就断开此次连接,继续等待下一个客户端连接 break #这就是优雅的断开 conn.close() server.close()
client
import socket client=socket.socket() server_ip_port=(\'192.168.15.78\',8888) #设置要连接服务端程序的IP和端口 client.connect(server_ip_port) #进行连接 while 1: from_server_msg=client.recv(1024) #接收服务端消息 print(from_server_msg.decode(\'utf-8\')) client_msg=input(\'客服端:\') client.send(client_msg.encode(\'utf-8\')) #向服务端发送消息 if client_msg==\'byebye\': #如果输入为byebye,就断开连接 break client.close()
基于udp协议下的socket
server
import socket server=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) server_ip_port=(\'192.168.12.39\',8888) server.bind(server_ip_port) while 1: from_client_msg, adrr = server.recvfrom(1024) print(\'来自%s的消息:%s\'%(adrr,from_client_msg.decode(\'utf-8\'))) if from_client_msg.decode(\'utf-8\')==\'bye\': break msg=input(\'请输入:\') msg1=msg+\',\'+from_client_msg.decode(\'utf-8\').replace(\'sb\',\'alexsb\') server.sendto(msg1.encode(\'utf-8\'),adrr)
client
import socket client=socket.socket(socket.AF_INET,socket.SOCK_DGRAM) server_ip_port=(\'192.168.12.39\',8888) while 1: msg=input(\'请输入:\') client.sendto(msg.encode(\'utf-8\'),server_ip_port) if msg==\'bye\': break from_server_msg,adrr=client.recvfrom(1024) print(from_server_msg.decode(\'utf-8\')) client.close()
以上是关于python socket的主要内容,如果未能解决你的问题,请参考以下文章