首页 > 编程语言 > 详细

python网络编程,通过服务名称和会话类型(tcp,udp)获取端口号,简单的异常处理

时间:2017-10-02 00:46:55      阅读:400      评论:0      收藏:0      [点我收藏+]

作为一个php程序员,同时有对网络方面感兴趣,php就比较蛋疼了,所以就抽了些时间看python

之前学python基础因为工作原因,断断续续的看了个基础,差不多是可以写代码了

最近在看《python网络编程基础》,准备是边实践边学习了,对书上的一个例子做了个复制

cli下运行的代码

 

 1 #! /usr/bin/env python
 2 # -*- coding:utf-8 -*-
 3 # ^设置编码:代码中有中午会导致编译错误
 4 
 5 # 引入socket,sys模块
 6 import socket,sys
 7 
 8 # 接收cli传递的参数(服务名称)
 9 ser_name = sys.argv[1]
10 
11 print "Creating socket..."
12 # 创建socket
13 s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
14 print "dine."
15 
16 print "Looking up port number..."
17 
18 # 异常捕获:cli传递的服务名称可能不正确,对这个异常处理
19 try:
20     # 通过服务名称和回话类型获取端口号
21     port = socket.getservbyname(ser_name,tcp)
22 except socket.error as e:
23     # 异常
24     print e
25     sys.exit(1)
26 
27 print "done."
28 
29 print "Connect to remote host %d..." % port
30 
31 # 捕获异常:服务端可能没有开启对应服务,或者网络问题导致连接失败出现异常
32 try:
33     # 连接服务端
34     s.connect(("www.baidu.com",port))
35 except socket.error as e:
36     # 异常
37     print "Strange error creating socket: %s" % e
38     sys.exit(1)    
39 
40 print "done."
41 
42 # 成功建立连接后可以得到的信息
43 # 客户端发起连接的ip和端口
44 print "Connect from ",s.getsockname()
45 # 服务端的ip获取端口
46 print "Connect to ",s.getpeername()

 

python网络编程,通过服务名称和会话类型(tcp,udp)获取端口号,简单的异常处理

原文:http://www.cnblogs.com/hl540/p/7618328.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!