网站关停公告怎么做,如何制作app平台,网站类别页面怎么做,wordpress图片编辑器python socket逻辑思维整理
UDP发送步骤#xff1a;
1 、先建立udp套接字 udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 2、利用sendto把数据并指定对端IP和端口#xff0c;本端端口可以不用指定用自动随机的 udp_socket.sendto(“发送的内容”.encode(“…python socket逻辑思维整理
UDP发送步骤
1 、先建立udp套接字 udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 2、利用sendto把数据并指定对端IP和端口本端端口可以不用指定用自动随机的 udp_socket.sendto(“发送的内容”.encode(“utf-8”), (“192.168.2.121”, 8080)) 3、关闭套接字 udp_socket.clise()
UDP接收步骤:
1 、先建立udp套接字 udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM) 2、绑定本机IP和端口 udp_socket.bind((“192.168.2.121”, 8080)) 3、接收数据 recv_data udp_socket.recvfrom(1024) 4、接收到的是两个数据分开打印出来 recv_message recv_data[0] recv_ip_port recv_data[1] print(“%s:%s” %(str(recv_ip_port), recv_message.decode(“gbk”))) 5、关闭套接字 udp_socket.clise()
TCP发送步骤
1、建立套接字 send_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM) 2、指定服务器的IP和端口并连接服务器 send_socket.connect((“192.168.2.121”, 8081)) 3、发送数据 send_socket.send(“发送内容”.encode(‘gbk’)) 4、关闭套接字 send_socket.close()
TCP接收步骤
1、建立套接字 send_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM) 2、绑定IP和端口 server_socket.bind((“192.168.2.121”, 8081)) 3、监听端口 server_socket.listen(128) 4、接收客户端的到来生成两个结果值 一个新的套接字new_client和客户端的ip端口 new_client, address_port server_socket.accept() 5、用新的套接字接收数据 recv_data new_client.recv(1024).decode(‘gbk’) 6、关闭新套接字 new_client.close() 7、关闭全局套接字 send_socket.close() 具体代码案例
UDP发送端
import socketdef main():udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)while True:print(---------------input quit/exit out process!-------------)print(-----------------------------------------------------------)send_result input(please input result: ).strip()if send_result exit:breakelif send_result quit:breakudp_socket.sendto(send_result.encode(utf-8), (192.168.2.121, 8080)) udp_socket.close()if __name__ __main__:main()UDP接收端
import socketdef main():#创建套接字udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)#设置ip和端口ip_port (192.168.2.121, 8080)#绑定商品和IPudp_socket.bind(ip_port)#接收数据while True:recv_data udp_socket.recvfrom(1024)recv_message recv_data[0]recv_ip_port recv_data[1]#打印数据print(%s:%s %(str(recv_ip_port), recv_message.decode(gbk)))#关闭套接字 udp_socket.close()if __name__ __main__:main()UDP发送和接收端:
import socketdef send_data(udp_socket, send_ip, send_port):#发送数据send_result input(please input result: ).strip() udp_socket.sendto(send_result.encode(gbk), (send_ip, int(send_port)))def recv_datas(udp_socket):#接收数据recv_data udp_socket.recvfrom(1024)print(%s:%s%s %(str(recv_data[1][0]), str(recv_data[1][1]),recv_data[0].decode(gbk)))def main():udp_socket socket.socket(socket.AF_INET, socket.SOCK_DGRAM)udp_socket.bind((192.168.2.121, 8082)) send_ip input(please input ip address: ).strip()send_port input(please input port: ).strip()while True:print(---------------chat-------------)print(---1:发送---2:接收---3:退出---)option input(please your select: ).strip() if option 1:send_data(udp_socket, send_ip, send_port)elif option 2:recv_datas(udp_socket)elif option 3:breakelse:print(you input errer!)continueudp_socket.close() if __name__ __main__:main()TCP发送端
import socketdef main():#建立套接字send_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)#指定服务器的IP和端口address input(ip address: ).strip()ports int(input(port: ).strip())#连接服务器send_socket.connect((address, ports))#发送数据send_data input(input mes: ).strip()send_socket.send(send_data.encode(gbk))#recv_data send_socket.recv(1024)#print(recv_data)#关闭套接字send_socket.close()if __name__ __main__:main()TCP接收和发送端(带系统命令操作参数返回)
import socket,subprocessdef main():#建立套接字tcp这个里面的套接字变量只用于绑定和监听server_socket socket.socket(socket.AF_INET, socket.SOCK_STREAM)#绑定IP和端口server_socket.bind((192.168.2.121, 8081))#监听端口server_socket.listen(128)while True:print(等待连接)#接到到客户端连接后生成一个新的套接字并接收到客户端的ip和端口address_portnew_client, address_port server_socket.accept()#程度运行后就一直处于accept阻塞等着客户端来连接#有客户端连接上来了就打印出来连接的客户端ip和端口print(客户端已连接上) print(address_port)#一直阻塞等客户端发数据过来while True:recv_data new_client.recv(1024).decode(gbk)#print(recv_data.decode(gbk)) #只要有客户端数据发来就马上回过去这步不阻塞 if not recv_data: # 客户在离开时没有数据过来就认为关闭了break#接收客户端发来的内容转为指令result subprocess.getoutput(recv_data)#把指令在本地执行的内容再返还给客户端如ipconfig把查到的ip信息返回new_client.send(result.encode(gbk))#关闭套接字new_client.close()server_socket.close()if __name__ __main__:main()