1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > TCP全双工通信(1)服务器篇

TCP全双工通信(1)服务器篇

时间:2024-04-26 05:36:21

相关推荐

TCP全双工通信(1)服务器篇

为了实现TCP的全双工通信,创作了服务器和客户端的python文件,本篇主要展示服务器代码。

# -*- coding: utf-8 -*-# @Time : /6/19 16:56# @Author : 飞鸟凌# @File : tcp_socket_08服务器通信器.pyimport threadingimport socketmy_name = "服务器"goal_name = "客户端"encoding = "utf-8"LOCAL_PORT = 8888loop = 0def send_my(new_socket):while True:send_data = input(my_name + ":|")print()new_socket.send(send_data.encode(encoding))def rev_my(new_socket):global loopwhile True:try:rev_data = new_socket.recv(1024)except ConnectionError as e:print("\n客户端已断开连接")loop = 1breakprint("\n")print("%s:|%s".rjust(37, " ") % (rev_data.decode(encoding), goal_name))print(my_name + ":|", end="")def menu():print("udp_socket服务器通信器".center(50, " "))def main():# 1.菜单提示menu()# 2.创建套接字tcp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)# 3.关联本地端口tcp_socket.bind(("", LOCAL_PORT))# 4.设置监听模式tcp_socket.listen(128)# 5.等待客户端连接while True:print("=" * 50)print("等待客户端连接...")new_socket, new_client_address = tcp_socket.accept()print("一个客户端已连接")# 6.创建子线程发送数据send_t = threading.Thread(target=send_my, args=(new_socket,))# 7.创建子线程接收数据rev_t = threading.Thread(target=rev_my, args=(new_socket,))# 8.线程开始rev_t.start()send_t.start()# 9.关闭局部套接字global loopwhile loop == 0:passloop = 0new_socket.close()if __name__ == '__main__':main()

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。