使用Python创建socket连接,实现客户端与服务端的简单TCP通信
客户端:tcp_client.py
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# 编程思路
# 1、创建socket套接字
# 2、建立TCP连接
# 3、接收、发送数据
import socket
def main(target,port):
# 1、创建socket套接字
client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2、建立TCP连接
client.connect((target,port)) #传入元组,加一个括号
# 3、接收、发送数据
send = input("Please input message:") #获取输入
messages = str.encode(send) #将输入的字符串转为字节
client.send(b"%s" % (messages)) #发送
response = client.recv(4096)
print(response)
# 4、关闭连接
client.close()
if __name__ == "__main__":
target = '127.0.0.1'
port = 4444
main(target,port)
服务端:tcp_server.py
#!/usr/bin/env python3
# -*- coding: UTF-8 -*-
# 编程思路
# 1、创建socket套接字
# 2、绑定IP和端口
# 3、监听
# 4、接收和发送数据
import socket
def main(target,port):
# 1、创建socket套接字
server = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
# 2、绑定IP和端口
server.bind((target,port))
# 3、监听
server.listen(10) #监听的最大连接数
print("[*] listening on %s:%d" % (target,port))
# 4、接收和发送数据
while True:
client,addr = server.accept()
print("[*] Accept from %s:%d" % (addr[0],addr[1]))
response = client.recv(4096)
print(response)
client.send(b"[*] send successfully")
client.close()
if __name__ == "__main__":
target = "0.0.0.0"
port = 4444
main(target,port)
运行结果