s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345 # 设置端口
s.bind((host, port)) # 绑定端口
s.listen(5) # 等待客户端连接
while True:
print("服务器已启动,等待连接 ...")
c, addr = s.accept() # 建立客户端连接。
print(c.recv(1024).decode() + '连接地址:', addr)
c.send('欢迎访问 Python !'.encode())
c.close() # 关闭连接
2)客户端
接下来我们写一个简单的客户端实例连接到以上创建的服务。端口号为 12345。
socket.connect(hosname, port ) 方法打开一个 TCP 连接到主机为 hostname 端口为 port 的服务。
连接后就可以从服务端传输数据。
操作完成后需要关闭连接。
完整代码如下:
#!/usr/bin/env python
# -*- coding:UTF-8 -*-
# 文件名:client.py
import socket # 导入 socket 模块
s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345 # 设置端口好
s.connect((host, port))
s.send('您好!申请接入 ...'.encode())
print(s.recv(1024).decode())
s.close()
输出结果:
服务端:
1 服务器已启动,等待连接 ... 2 您好!申请接入 ...连接地址: ('10.4.8.160', 59474) 3 服务器已启动,等待连接 .
客户端:
1 欢迎访问 Python !
6. Python Internet 模块以下列出了 Python 网络编程的一些重要模块:
协议功能用处端口号Python 模块HTTP 网页访问 80 httplib, urllib, xmlrpclib
NNTP 阅读和张贴新闻文章,俗称为"帖子" 119 nntplib
FTP 文件传输 20 ftplib, urllib
SMTP 发送邮件 25 smtplib
POP3 接收邮件 110 poplib
IMAP4 获取邮件 143 imaplib
Telnet 命令行 23 telnetlib
Gopher 信息查找 70 gopherlib, urllib
更多内容可以参阅官网的 Python Socket Library and Modules。
Ubuntu 14.04下Python数据处理环境搭建
《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]
在CentOS 6.5上安装Python2.7