1. 程式人生 > >[python網絡編程]socket的簡單使用(一)

[python網絡編程]socket的簡單使用(一)

python python網絡編程 arppingin 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."

執行

[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)

[python網絡編程]socket的簡單使用(一)