天天看点

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,如需转载请自行联系原作者