Python 网络编程 Socket(2)

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

零基础如何入门Python

Python正则表达式深入理解 

Python中正则表达式(re模块)的使用 

Ubuntu 14.04下Python数据处理环境搭建 

Python Paramiko模块安装和使用 

《Python开发技术详解》.( 周伟,宗杰).[高清PDF扫描版+随书视频+代码]

CentOS 6.5上安装Python2.7 

Ubuntu 14.04 LTS下编译安装Open Babel和Python语言绑定

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/f3eebca72443030e28ddcb581e7d419d.html