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()
上一篇:ActiveX添加测试工程, 出现的问题[非选择性参数][找不到成员]


下一篇:网络编程 多线程/socketserver模块/ threading.local