谁能给一个 Qt 跟 java 用socket通讯的例子,要求java 做服务端,qt 做客户端,要求双方都能实时显示对方发过

谁能给一个 Qt 跟 java 用socket通讯的例子,要求java 做服务端,qt 做客户端,要求双方都能实时显示对方发过,第1张

提供一个聊天功能的给你
import javanet;
import javaio;
class My1 extends Thread
{
private Socket skt;

public My1(Socket skt)
{
thisskt = skt;
}

public void run()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(sktgetInputStream()));

for(;;)
{
if(brreadLine()==null) {break;}
Systemoutprintln(brreadLine()); // 阻塞
}
}
catch(Exception e)
{
Systemoutprintln("对方断线!");
}
}
}
class My2 extends Thread
{
private Socket skt;

public My2(Socket skt)
{
thisskt = skt;
}

public void run()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(Systemin));
PrintWriter pw = new PrintWriter(sktgetOutputStream());

for(;;)
{
pwprintln("姓名====>:"+brreadLine()); // 阻塞
pwflush();
}
}
catch(Exception e)
{
Systemoutprintln("对方断线!");
}
}
}
public class Good
{
public static void main(String[] args) throws Exception
{
//连接的目的是:获得Socket对象
Socket skt;

Systemoutprint("请输入<port> 或者:<ip>,<port> ");
// 先选择角色
String[] ss = new BufferedReader(new InputStreamReader(Systemin))readLine()split(",");
if(sslength==1)
skt = new ServerSocket(IntegerparseInt(ss[0]))accept();
else
skt = new Socket(ss[0], IntegerparseInt(ss[1]));

Systemoutprintln("连接到:" + sktgetInetAddress()getHostAddress());
// 连接建立,角色消失

new My1(skt)start(); //读网络
new My2(skt)start(); //读键盘
}
}

这是因为文件路径不对造成的,解决方法如下:

1、首先pro文件配置:Qt网络功能需要在pro文件增加网络库。

2、QTcpServer服务端建立的方法代码,如下图所示。

3、QTcpServer当有新客户端连接时,会发出QTcpServer::newConnection的信号方法代码。

4、客户端为主动连接方不需要监听,直接建立QTcpSocket代码。

5、最后通过connectToHost连接指定ip和端口,将socket的连接成功的信号与对应槽连接,当连接成功可以将自定义的标记位置为true。

TCP服务端使用Qt,客户端不使用Qt是完全可以的,因为TCP通信是一种标准的网络通信协议,不依赖于任何特定的编程语言或框架。
在TCP服务端使用Qt时,Qt提供了一些网络编程类,如QTcpServer和QTcpSocket,可以方便地创建和管理TCP连接。而在客户端不使用Qt时,可以使用其他编程语言或框架,如C++、Java、Python等,通过相应的TCP编程库来实现与TCP服务端的通信。
需要注意的是,为了确保不同语言或框架之间的通信正常进行,必须遵循TCP通信的标准协议,如发送和接收数据的格式、数据长度的限制等。同时,在客户端与服务端之间的协议设计上,需要进行充分的沟通和协商,确保双方都能够理解和遵循相应的协议规范。

QT是基于消息-槽机制的 类似MFC,可以手写界面上的按钮或者文本框,也可以用QT自带的拖拽工具,我原来用QT4写过FTP的服务器端和客户端,基本上是用C++写的,然后用makefile编译,基本技术就是用TCP+并发 *** 作来实现的。 你自己在网上找找相应的例

ui是用户的界面设计而已,现在的产品一般经过了原型的功能提案,都是经过UI设计师来进行用户界面的设计,一般用ai或者其他设计工具设计出UI画面。

1、腾讯qq问题:

腾讯QQ的开发分客户端软件和服务器端软件两部分。 
客户端采用 Microsoft Visual C++开发; 
服务器端软件采用Linux gcc开发 ; 
数据库采用MySql 数据库。 
腾讯QQ采用标准的TCP/IP协议为通信协议。

2、微信问题

微信的客户端分别立足于Android,ios,和电脑

Android就是明显是Java语言

IOS则是iOS开发来做的

电脑端的微信客户端是C++

不得不说,微信的官网首页真是太古老了


欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/zz/13319144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-07-14
下一篇 2023-07-14

发表评论

登录后才能评论

评论列表(0条)

保存