Python实现tcp协议

1.客户端程序

import socket

def main():

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

server_ip = input("请输入要连接的服务器ip地址:")

server_port = int(input("请输入服务器port:"))

s.connect((server_ip,server_port))

tcp_msg = input("请输入您要发送的数据:")

s.send(tcp_msg.encode('gbk'))

receive_msg = s.recv(1024)

print('接收到的数据为:'+receive_msg.decode('gbk'))

# s.close()

if __name__ =='__main__':

main()

2.服务端程序

# 程序文件server_tcp.py

import socket # 导入socket模块

def main():

# 创建socket对象,使用IPV4协议,使用TCP传输协议

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

s.bind(('127.0.0.1', 6666)) # 指定IP地址和端口号

s.listen(128)

while True: # 循环多次,为多个客户端服务

# 等待客户端的连接

print('等待客户端的连接...')

new_socket, client_addr = s.accept()

print('客户端连接成功!')

print('客户端信息:' + str(client_addr))

while True:

# 接收客户端发送的数据

recv_msg = new_socket.recv(1024)

print(recv_msg.decode('gbk'))

if recv_msg:

# 会送一部分数据给客服端

new_socket.send('Received your message'.encode('gbk'))

else:

break

new_socket.close() # 关闭新的套接字

s.close() # 关闭监听套接字

if __name__ == '__main__':

main()

3.实验

运行服务端程序结果如下:

运行客户端程序,输入服务端ip和地址,结果如下:

posted @ 2025-11-22 18:12  小蓝莓  阅读(19)  评论(0)    收藏  举报