[python网络编程]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
# 创建一个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连接并马上中止
#!/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."
执行
[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和端口号
#!/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()
运行
Creating socket...
done.
Connect socket...
done.
Connected from ('192.168.10.10', 44578)
Connected to ('119.28.23.106', 80)
相关文章