qt中用tcp怎么实现客户端给服务器发消息

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了qt中用tcp怎么实现客户端给服务器发消息相关的知识,希望对你有一定的参考价值。

参考技术A   通常来说我们的服务器是分三类,数据库的服务器,web的服务器,以及其他应用的服务器。这些其实都是小型机,服务器,只不过是根据用途不同而分类。正常来说一个网站的常规服务器的架构就是这三块。

  他所说的 " 数据库连接到服务器" 可能是指 "怎么样把web服务器和数据库能够建立连接 " 。这里所说的web服务器应该是指tomcat,apache,IIS,weblogic之类的东西,而不是真正意义上的web服务器。

  这样的话就简单了。要么ODBC要么JDBC,该怎么样怎么样。ODBC就是添加到数据源,JDBC就是要写JDBC驱动,或者使用mybatis之类的解决方案本回答被提问者和网友采纳

Python3 & 基于TCP的方式实现客户端与服务器端互发消息

在这里插入图片描述

客户端

'''
1、导⼊ socket 模块
2、创建socket 套接字
3、建⽴tcp连接(和服务端建⽴连接)
4、开始发送数据(到服务端)
5、接收服务端发送的信息
6、关闭套接字
'''

# 1、导⼊ socket 模块
from socket import *


# 2、创建socket 套接字
tcp_socket_client = socket(AF_INET,SOCK_STREAM)
# 3、建⽴tcp连接(和服务端建⽴连接)
tcp_socket_client.connect(("192.168.100.117",8787))

while True:
   #键盘输入要发送的内容
   msg = input("请输入要发送的内容:").strip()
   #判断发送的内容是否为空,为空则跳过
   if len(msg)==0:
       continue
    # 判断发送的内容是否为EXIT,是则退出客户端
   elif msg == 'exit':
       break
   else:
       # 4、发送数据(到服务端)
       tcp_socket_client.sendall(msg.encode("gbk"))
       # 5、接收服务端发送的信息
       recv_data = tcp_socket_client.recv(1024).decode("gbk")
       print("收到服务端回复:%s" % recv_data)


# 6、关闭套接字
tcp_socket_client.close()

服务器:

'''
1. 导⼊ socket 模块
2 socket创建⼀个套接字
3. bind绑定ip和port
4. listen使套接字变为可以被动链接
5. accept等待客户端的链接
6. recv/send接收发送数据
7. 发送数据到客户端
8. 中止与当前客户端的连接
9. 关闭服务端套接字
'''

# 1. 导⼊ socket 模块
from socket import *

# 2. socket创建⼀个套接字
tcp_socket_server = socket(AF_INET,SOCK_STREAM)
# 3. bind绑定ip和port
tcp_socket_server.bind(('',8787))
# 4. listen使套接字变为可以被动链接
tcp_socket_server.listen(128)

# 循环目的:调用多次accept,从而为多个客户端服务
while True:
   # 5. accept等待客户端的链接
   socket_client,ip_port = tcp_socket_server.accept()
   print("新的客户端来了:", ip_port)
   
   # 循环目的: 为同一个客户端 服务多次
   while True:
       # 6. recv接收客户端发送的数据
       recv_data = socket_client.recv(1024)
       #判断接收到客户端的信息是否为空,为空则退出
       if not recv_data:
           print("客户端连接断开")
           break
       else:
           print("收到客户端信息:%s" % recv_data.decode("gbk"))

       #从键盘输入回复给客户端的内容
       msg = input("请输入回复内容:").strip()
       # 判断发送的内容是否为空,为空则跳过
       if len(msg)==0:
           continue
       # 7. 发送数据到客户端
       socket_client.sendall(msg.encode("gbk"))

   # 8. 中止与当前客户端的连接
   socket_client.close()
# 9. 关闭服务端套接字
tcp_socket_server.close()

在这里插入图片描述
在这里插入图片描述

看完这篇内容后,相信以下两件事,也会对你的个人提升有所帮助:==

1、 点赞,让更多人能看到这篇文章,同时你的认可也会鼓励我创作更多优质内容。

2、 让自己变得更强:想一想,如果你想在测试这个行业一直做下去,你的经验和测试技术是远远不够的,你需要进阶,你需要丰富你的技术栈!还等什么!

最后:【可能给予你助力的教程】


这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

关注我的微信公众号:【伤心的辣条】免费获取~

我的学习交流群:902061117 群里有技术大牛一起交流分享~

码字不易,硬核码字更难,希望大家不要吝啬自己的鼓励,给我 : “点赞” “评论” “收藏” 一键三连哦!

好文推荐:

35岁之后软件测试工程师靠什么养家?我能继续做测试!

App公共测试用例梳理

Python简单?先来40道基础面试题测试下

阿里二黑叹息:越来越多的年轻人从职场撤退了?

从一名开发人员转做测试的一些感悟

以上是关于qt中用tcp怎么实现客户端给服务器发消息的主要内容,如果未能解决你的问题,请参考以下文章

Linux中 socket聊天室,给客户端发消息

Python3 & 基于TCP的方式实现客户端与服务器端互发消息

当UDP协议客户端给TCP协议服务器发数据会发生什么

简单的通信----使用Socket实现TCP协议

Web服务端怎么发送消息给Android客户端了,Android客户端又怎么接收发来的消息了

使用 Qt 通过 TCP 套接字部分发送 xml 消息