天天看點

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

現在開始學習網絡程式設計,先從簡單的UDP協定發送消息開始。我們需要有接受消息的服務端程式(Server.py)和發送消息的用戶端程式(Client)。

一、服務端(Server.py)

    服務端要做的事情是:

    1. 建立一個Socket對象

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

import socket

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

    2. 綁定一個端口

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

s.bind(("", 8081))

    3. 接受來自用戶端的消息

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

while True:

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

    # Receive up to 1,024 bytes in a datagram

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

    data, addr = s.recvfrom(1024)

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

    print "Received:", data, "from", addr

二、用戶端(Client.py)

    用戶端要做的事情是:

    1. 建立一個Socket對象。

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)
Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

    2. 向某個伺服器的指定的端口發送消息。由于使用UDP,如果伺服器端未接收到将會丢棄資料包。

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

port = 8081

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

host = "localhost"

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)
Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

    msg = raw_input()

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

    s.sendto(msg, (host, port))

三、運作試試

Python天天美味(27) - 網絡程式設計起步(Socket發送消息)

...

本文轉自CoderZh部落格園部落格,原文連結:http://www.cnblogs.com/coderzh/archive/2008/06/07/1215607.html,如需轉載請自行聯系原作者