谁能给一个 Qt 跟 java 用socket通讯的例子,要求java 做服务端,qt 做客户端,要求双方都能实时显示对方发过 100
谁能给一个Qt跟java用socket通讯的例子,要求java做服务端,qt做客户端,要求双方都能实时显示对方发过来的文本数据.如果java端做成多线程更好.如果例子好的...
谁能给一个 Qt 跟 java 用socket通讯的例子,要求java 做服务端,qt 做客户端,要求双方都能实时显示对方发过来的文本数据.如果java端做成多线程更好.
如果例子好的话,再追加100分,谢谢!
重金无勇士?大家速度啊,我等着用. 展开
如果例子好的话,再追加100分,谢谢!
重金无勇士?大家速度啊,我等着用. 展开
3个回答
展开全部
提供一个聊天功能的给你
import java.net.*;
import java.io.*;
class My1 extends Thread
{
private Socket skt;
public My1(Socket skt)
{
this.skt = skt;
}
public void run()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(skt.getInputStream()));
for(;;)
{
if(br.readLine()==null) {break;}
System.out.println(br.readLine()); // 阻塞
}
}
catch(Exception e)
{
System.out.println("对方断线!");
}
}
}
class My2 extends Thread
{
private Socket skt;
public My2(Socket skt)
{
this.skt = skt;
}
public void run()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(skt.getOutputStream());
for(;;)
{
pw.println("姓名====>:"+br.readLine()); // 阻塞
pw.flush();
}
}
catch(Exception e)
{
System.out.println("对方断线!");
}
}
}
public class Good
{
public static void main(String[] args) throws Exception
{
//连接的目的是:获得Socket对象
Socket skt;
System.out.print("请输入<port> 或者:<ip>,<port> ");
// 先选择角色
String[] ss = new BufferedReader(new InputStreamReader(System.in)).readLine().split(",");
if(ss.length==1)
skt = new ServerSocket(Integer.parseInt(ss[0])).accept();
else
skt = new Socket(ss[0], Integer.parseInt(ss[1]));
System.out.println("连接到:" + skt.getInetAddress().getHostAddress());
// 连接建立,角色消失
new My1(skt).start(); //读网络
new My2(skt).start(); //读键盘
}
}
import java.net.*;
import java.io.*;
class My1 extends Thread
{
private Socket skt;
public My1(Socket skt)
{
this.skt = skt;
}
public void run()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(skt.getInputStream()));
for(;;)
{
if(br.readLine()==null) {break;}
System.out.println(br.readLine()); // 阻塞
}
}
catch(Exception e)
{
System.out.println("对方断线!");
}
}
}
class My2 extends Thread
{
private Socket skt;
public My2(Socket skt)
{
this.skt = skt;
}
public void run()
{
try
{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PrintWriter pw = new PrintWriter(skt.getOutputStream());
for(;;)
{
pw.println("姓名====>:"+br.readLine()); // 阻塞
pw.flush();
}
}
catch(Exception e)
{
System.out.println("对方断线!");
}
}
}
public class Good
{
public static void main(String[] args) throws Exception
{
//连接的目的是:获得Socket对象
Socket skt;
System.out.print("请输入<port> 或者:<ip>,<port> ");
// 先选择角色
String[] ss = new BufferedReader(new InputStreamReader(System.in)).readLine().split(",");
if(ss.length==1)
skt = new ServerSocket(Integer.parseInt(ss[0])).accept();
else
skt = new Socket(ss[0], Integer.parseInt(ss[1]));
System.out.println("连接到:" + skt.getInetAddress().getHostAddress());
// 连接建立,角色消失
new My1(skt).start(); //读网络
new My2(skt).start(); //读键盘
}
}
展开全部
QT直接访问java的socket吗?一般我在linux下使用QT做UI,使用ACE来实现socket通信,你可以试试ACE,很好用,这段时间就在64位Ubuntu下使用ACE和java通信。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有JAVA 做个web服务器,发布几个webservers ,在QT客户端里面通过webservers 调用就可以了啊。
是基于SOAP协议的。效率么socket 效率高,一般还是可以用的。
是基于SOAP协议的。效率么socket 效率高,一般还是可以用的。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询