python实战第一天-socket模块练习

操作系统
 
Ubuntu 15.10
 
IDE & editor
 
JetBrains PyCharm 5.0.2
 
ipython3
 
Python版本
 
python-3.4.3

导入socket模块 

####server####
import socket s = socket.socket () s.bind(('127.0.0.1',30021)) 绑定在127.0.0.1:30021上 s.listen(10) #监听 0是不启用的

查看端口

netstat -ntl

激活Internet连接 (仅服务器)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 127.0.0.1:30021         0.0.0.0:*               LISTEN     

#阻塞的方式接收客户端 为了能够与客户端通信所创建的套接字文件,以及客户端地址

sc,client = s.accept() #这时进程是等待连接状态的

####client####

import socket

c = socket.socket()

c.connect(('127.0.0.1',30021))         #客户端连接后server进程退出连接状态

#####server####在server执行可以查看连接状态

print(sc)

	<socket.socket fd=9, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 30021), raddr=('127.0.0.1', 36332)>

print(client)
('127.0.0.1', 49612) #客户端连接端口49612 是随机的

查看连接

netstat -tan
激活Internet连接 (服务器和已建立连接的)
tcp        0      0 127.0.0.1:30022         127.0.0.1:49612         ESTABLISHED
tcp        0      0 127.0.0.1:49612         127.0.0.1:30022         ESTABLISHED

#####server#####

data=sc.recv(1024)

#####client#####

c.send(b"form client")

#####server#####

print(data)  
b'form client'

关闭连接

s.close()
c.close()
原文地址:https://www.cnblogs.com/love19791125/p/5217090.html