Saltar al contenido

Cómo enviar y recibir mensajes de cliente a servidor con el ejemplo de código de Python

Este dilema se puede abordar de diferentes maneras, pero nosotros te damos la respuesta más completa en nuestra opinión.

Ejemplo 1: enviar un mensaje desde el servidor al cliente python

import socket
import sys
HOST =''
PORT =9000
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)print'Socket created'try:
    s.bind((HOST, PORT))except socket.error , msg:print'Bind failed. Error Code : '+str(msg[0])+' Message '+ msg[1]
    sys.exit()print'Socket bind complete'
s.listen(10)print'Socket now listening'
conn, addr = s.accept()print'Connecting from: '+ addr[0]+':'+str(addr[1])while1:
    message=raw_input(">")
    s.sendto(message,(addr[0], addr[1]))print(s.recv(1024))

Ejemplo 2: enviar un mensaje desde el servidor al cliente python

# text_send_server.pyimport socket
import select
import time

HOST ='localhost'
PORT =65439

ACK_TEXT ='text_received'defmain():# instantiate a socket object
    sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)print('socket instantiated')# bind the socket
    sock.bind((HOST, PORT))print('socket binded')# start the socket listening
    sock.listen()print('socket now listening')# accept the socket response from the client, and get the connection object
    conn, addr = sock.accept()# Note: execution waits here until the client calls sock.connect()print('socket accepted, got connection object')

    myCounter =0whileTrue:
        message ='message '+str(myCounter)print('sending: '+ message)
        sendTextViaSocket(message, conn)
        myCounter +=1
        time.sleep(1)# end while# end functiondefsendTextViaSocket(message, sock):# encode the text message
    encodedMessage =bytes(message,'utf-8')# send the data via the socket to the server
    sock.sendall(encodedMessage)# receive acknowledgment from the server
    encodedAckText = sock.recv(1024)
    ackText = encodedAckText.decode('utf-8')# log if acknowledgment was successfulif ackText == ACK_TEXT:print('server acknowledged reception of text')else:print('error: server has sent back '+ ackText)# end if# end functionif __name__ =='__main__':
    main()

Aquí tienes las reseñas y puntuaciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *