Python网络编程(服务端 / 客户端)

版权声明:如果对您有帮助,求点赞!本文为博主原创作品,转载请声明出处! https://blog.csdn.net/u011086209/article/details/88107544

服务端

我们使用 socket 模块的 socket 函数来创建一个 socket 对象。socket 对象可以通过调用其他函数来设置一个 socket 服务。

现在我们可以通过调用 bind(hostname, port) 函数来指定服务的 port(端口)

接着,我们调用 socket 对象的 accept 方法。该方法等待客户端的连接,并返回 connection 对象,表示已连接到客户端。

完整代码如下:

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
# 文件名:server.py 
import socket                 # 导入 socket 模块 
s = socket.socket()           # 创建 socket 对象 
host = socket.gethostname()   # 获取本地主机名 
port = 12345                  # 设置端口 
s.bind((host, port))          # 绑定端口 
s.listen(5)                   # 等待客户端连接 
while True: 
    c, addr = s.accept()      # 建立客户端连接。 
    print '连接地址:', addr 
    c.send('欢迎访问菜鸟教程!') 
    c.close()                 # 关闭连接

客户端

接下来我们写一个简单的客户端实例连接到以上创建的服务。端口号为 12345。

socket.connect(hosname, port ) 方法打开一个 TCP 连接到主机为 hostname 端口为 port 的服务商。连接后我们就可以从服务端获取数据,记住,操作完成后需要关闭连接。

完整代码如下:

#!/usr/bin/python 
# -*- coding: UTF-8 -*- 
# 文件名:client.py 
import socket                  # 导入 socket 模块 
s = socket.socket()            # 创建 socket 对象 
host = socket.gethostname()    # 获取本地主机名 
port = 12345                   # 设置端口号 
s.connect((host, port)) 
print s.recv(1024) 
s.close()                      # 关闭连接

现在我们打开两个终端,第一个终端执行 server.py 文件:

$ python server.py

第二个终端执行 client.py 文件:

$ python client.py 
欢迎访问菜鸟教程!

这时我们再打开第一个终端,就会看到有以下信息输出:

连接地址: ('192.168.0.118', 62461)

猜你喜欢

转载自blog.csdn.net/u011086209/article/details/88107544