python网络编程,通过服务名称和会话类型(tcp,udp)获取端口号,简单的异常处理
作为一个php程序员,同时有对网络方面感兴趣,php就比较蛋疼了,所以就抽了些时间看python
之前学python基础因为工作原因,断断续续的看了个基础,差不多是可以写代码了
最近在看《python网络编程基础》,准备是边实践边学习了,对书上的一个例子做了个复制
cli下运行的代码
#! /usr/bin/env python
# -*- coding:utf-8 -*-
# ^设置编码:代码中有中午会导致编译错误 # 引入socket,sys模块
import socket,sys # 接收cli传递的参数(服务名称)
ser_name = sys.argv[1] print "Creating socket..."
# 创建socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "dine." print "Looking up port number..." # 异常捕获:cli传递的服务名称可能不正确,对这个异常处理
try:
# 通过服务名称和回话类型获取端口号
port = socket.getservbyname(ser_name,'tcp')
except socket.error as e:
# 异常
print e
sys.exit(1) print "done." print "Connect to remote host %d..." % port # 捕获异常:服务端可能没有开启对应服务,或者网络问题导致连接失败出现异常
try:
# 连接服务端
s.connect(("www.baidu.com",port))
except socket.error as e:
# 异常
print "Strange error creating socket: %s" % e
sys.exit(1) print "done." # 成功建立连接后可以得到的信息
# 客户端发起连接的ip和端口
print "Connect from ",s.getsockname()
# 服务端的ip获取端口
print "Connect to ",s.getpeername()
python网络编程,通过服务名称和会话类型(tcp,udp)获取端口号,简单的异常处理的更多相关文章
- 《Python网络编程》学习笔记--使用谷歌地理编码API获取一个JSON文档
Foundations of Python Network Programing,Third Edition <python网络编程>,本书中的代码可在Github上搜索fopnp下载 本 ...
- Python的网络编程[0] -> socket[2] -> 利用 socket 建立 TCP/UDP 通信
Socket 目录 socket 的 TCP/IP 通信基本建立过程 socket 的 UDP 通信基本建立过程 socket 的 UDP 广播式通信基本建立过程 socket 的多线程通信建立过程 ...
- Python网络编程--Echo服务
Python网络编程--Echo服务 学习网络编程必须要练习的三个小项目就是Echo服务,Chat服务和Proxy服务.在接下来的几篇文章会详细介绍. 今天就来介绍Echo服务,Echo服务是最基本的 ...
- 图解Python网络编程
返回目录 本篇索引 (1)基本原理 (2)socket模块 (3)select模块 (4)asyncore模块 (5)asynchat模块 (6)socketserver模块 (1)基本原理 本篇指的 ...
- Python 网络编程(二)
Python 网络编程 上一篇博客介绍了socket的基本概念以及实现了简单的TCP和UDP的客户端.服务器程序,本篇博客主要对socket编程进行更深入的讲解 一.简化版ssh实现 这是一个极其简单 ...
- Python 网络编程(一)
Python 网络编程 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. ...
- Python学习(22)python网络编程
Python 网络编程 Python 提供了两个级别访问的网络服务.: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口的 ...
- Day07 - Python 网络编程 Socket
1. Python 网络编程 Python 提供了两个级别访问网络服务: 低级别的网络服务支持基本的 Socket,它提供了标准的 BSD Sockets API,可以访问底层操作系统Socket接口 ...
- python网络编程-01
python网络编程 1.socket模块介绍 ①在网络编程中的一个基本组件就是套接字(socket),socket是两个程序之间的“信息通道”. ②套接字包括两个部分:服务器套接字.客户机套接字 ③ ...
随机推荐
- 【Linux】动态链接函数库
动静区别 1. gcc –c mylib.c –o mylib.o 2. gcc -shared -fPIC mylib.o -o libmylib.so 3. 将制作好的libmylib.so 复制 ...
- html表格设置
表格 表格由 <table> 标签来定义.每个表格均有若干行(由 <tr> 标签定义),每行被分割为若干单元格(由 <td> 标签定义).字母 td 指表格数据(t ...
- 【转】SNR , Eb/N0 , Es/N0区别与联系
原文地址:http://www.360doc.com/content/16/0505/23/532901_556620735.shtml 通信方向在做仿真时经常用到信噪比这个参数,而对于不同形式的信号 ...
- 网络基础-IP、端口等
首先来理解一下几个概念. 白帽子:有能力破坏电脑安全但不具恶意目的的黑客.白帽子一般有清楚的定义.道德规范并常常试图同企业合作去改善发现的安全弱点. 正义技术员. 灰帽子:对 ...
- iBrand 开源电商小程序 (Laravel API+ webpack + gulp + 原生小程序)
iBrand 社交电商产品正式进入开源过程中了,我们制定了详细的开源计划,目前已经发布了 V1 的版本,后续的版本也在陆续整理完善中. 各个版本功能明细如下图: 3 个版本计划在今年春节前全部完成,可 ...
- 实验:将系统进程映射移到 Python 字典中
参考官方文档,测试下列代码,把oracle的进程映射到python的字典中: [oracle@ycr python]$ more pro_get.py import reimport subproce ...
- Orchard Core 文档翻译 (五)自动路由 Autoroute (OrchardCore.Autoroute)
Autoroute (OrchardCore.Autoroute) 此模块允许您为内容项指定自定义URL(永久链接 permalink). Autoroute Part 将此部分附加到内容类型以指定内 ...
- ABAP的权限检查跟踪(Authorization trace)工具
事务码 STAUTHTRACE 1. 点击"Activate Trace" button激活跟踪: 可以看到跟踪状态已经处于打开状态. 在同一个application server ...
- PCI PCI-X PCI-E介绍
1.PCI 外设互联标准(或称个人电脑接口,Personal Computer Interface),实际应用中简称PCI(Peripheral Component Interconnect),是一种 ...
- HDU 1298 T9【字典树增加||查询】
任意门:http://acm.hdu.edu.cn/showproblem.php?pid=1298 T9 Time Limit: 2000/1000 MS (Java/Others) Memo ...