前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >[python网络编程]socket

[python网络编程]socket

作者头像
py3study
发布2020-01-08 19:54:45
9190
发布2020-01-08 19:54:45
举报
文章被收录于专栏:python3python3
代码语言:javascript
复制
socket使用

1 socket基本参数了解

1.在建立socket对象的时候,需要告诉系统两件事情 1.1 通信的类型是什么(IPv4/IPv6等) 1.2 使用的协议是什么?(TCP/UDP等)

2.各个通信类型和协议的标识 2.1 IPv4:AF_INET 2.2 IPv6:AF_INET6 2.3 TCP:SOCK_STREAM 2.4 UDP:SOCK_DGRAM

2 socket使用

1.创建一个socket

代码语言:javascript
复制
# 创建一个socket,使用的通信类型是IPv4,使用的协议是TCP
# socket.socket  --> 创建一个socket连接
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)

2.连接socket

# connect --> 连接 # www.arppinging.com 代表地址,可以使用域名,python会解析得到地址之后再去连接,80为端口号,前面我们定义了SOCK_STREAM,所以这里使用的是TCP的80号端口 s.connect(("www.arppinging.com",80))

实例

1.建立一个socket连接并马上中止

代码语言:javascript
复制
#!/usr/bin/env python
# basic Connection arppinging.com 
import socket

print "creating socket..."
# 使用socket.socket创建一个socket
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "done."

print "Connecting to remote host......"
# 使用connect连接socket
s.connect(("www.arppinging.com",80))
print "done."

执行

代码语言:javascript
复制
[root@arppinging network]# python create_socket.py 
creating socket...
done.
Connecting to remote host......
done.
[root@arppinging network]# 

2.获取socket信息 2.1 getsockname() 本机的IP和端口号 2.2 getpeername() 对端的IP和端口号

代码语言:javascript
复制
#!/usr/bin/env python
# Information arppinging

import socket

print "Creating socket..."
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
print "done."

print "Connect socket..."
s.connect(("www.arppinging.com",80))
print "done."
# 获取本机的IP和port
print "Connected from",s.getsockname()
# 获取对端的IP和port
print "Connected to",s.getpeername()

运行

代码语言:javascript
复制
Creating socket...
done.
Connect socket...
done.
Connected from ('192.168.10.10', 44578)
Connected to ('119.28.23.106', 80)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-09-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 socket基本参数了解
  • 2 socket使用
  • 实例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档