python—socket講解(2)

tcp實現socket聊天功能

import socket
#1.創建服務器套接字
tcp_server = socket.socket(type=socket.SOCK_STREAM)

#2.綁定端口
ip_port = ("10.3.14.59",9000)
tcp_server.bind(ip_port)

#3.將socket創建的套接字變成被動類型,等待客戶連接請求
tcp_server.listen(5)

#4.讓服務阻塞,等待客戶端的連接
client_socket,client_addr=tcp_server.accept()
while True:
    #5.接收客戶端發來的消息
    recv_mag=client_socket.recv(1024)#接受1024字節
    recv_mag=recv_mag.decode("utf-8")
    #打印客戶端消息
    print("客戶端{}的消息是:{}".format(client_addr,recv_mag))

    #6.給客戶端發消息
    msg=input("給客戶端發的消息是:")
    msg = msg.encode("utf-8")
    client_socket.send(msg)

#7.關閉套接字
# client_socket.close()
# tcp_server.close()

結果

客戶端('10.3.14.59', 49637)的消息是:7777
給客戶端發的消息是:66666

#########################################################

import socket

#1.創建客戶端的套接字
tcp_client = socket.socket(type= socket.SOCK_STREAM)

#2.綁定服務器端口
ip_port = ("10.3.14.59",9000)
tcp_client.connect(ip_port)
while True:
    #3.給服務器發送消息
    msg= input("給服務器發消息:")
    msg = msg.encode("utf-8")
    tcp_client.send(msg)
    #4.接收服務器的消息
    recv_msg = tcp_client.recv(1024)
    recv_msg = recv_msg.decode("utf-8")
    print("服務器的消息是:{}".format(recv_msg))
#5.關閉套接字

tcp_client.close()

結果:

給服務器發消息:7777
服務器的消息是:66666
給服務器發消息:

代碼註解已經很詳細了 有疑問歡迎留言·······

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章