hudeya 发表于 2018-8-10 06:03:09

[python网络编程]socket的简单使用(一)

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."
  

  执行
  

# python create_socket.py  
creating socket...
  
done.
  
Connecting to remote host......
  
done.
  
#
  

  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)
页: [1]
查看完整版本: [python网络编程]socket的简单使用(一)