java vb 混编_vb与java的混合!(网络编程)

这篇博客介绍了一个使用Java编写的服务器端和VB编写的客户端实现网络聊天的例子。Java服务器监听8000端口,等待VB客户端连接。VB客户端通过Winsock控件发送和接收数据。在实际运行中,双方可以建立连接,但在信息传递方面存在问题。可能的问题在于Java服务器端的`while`循环中处理接收到的数据。当在VB客户端连接时发送预定义字符串时,Java服务器能够显示该消息,表明数据传输的基础已经建立,但需要解决持续通信的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这两个程序实现了网络聊天vb编的程序只是一个辅助............java写的服务器:importjava.io.*;importjava.net.*;importjava.awt.*;importjava.awt.event.*;publicclassServerextends...

这两个程序实现了网络聊天

vb编的程序只是一个辅助............

java写的服务器:

import java.io.*;

import java.net.*;

import java.awt.*;

import java.awt.event.*;

public class Server extends WindowAdapter implements ActionListener{

static ServerSocket s=null;

static Socket temp=null;

static PrintWriter writer=null;

static BufferedReader net=null;

static Frame frm=new Frame("Server");

static Button send=new Button("Send");

static Label lab=new Label();

static TextArea text=new TextArea();

static Server me=new Server();

public Server(){

}

public static void main(String args[]){

frm.setSize(600,400);

send.addActionListener(me);

frm.setLayout(new FlowLayout());

frm.add(lab);

frm.add(text);

frm.add(send);

frm.addWindowListener(me);

try{

s=new ServerSocket(8000);

System.out.println("Listening...");

temp=s.accept();

System.out.println("Connecting to "+temp.getInetAddress().toString()+"...");

while((temp.isConnected())!=true){}

System.out.println("Conencted.");

frm.setVisible(true);

writer=new PrintWriter(temp.getOutputStream());

net=new BufferedReader(new InputStreamReader(temp.getInputStream()));

while(true){

lab.setText(net.readLine());

}

}catch(Exception e){

System.out.println("Exception:"+e);

}

}

public void windowClosing(WindowEvent e){

frm.dispose();

frm=null;

System.exit(0);

}

public void actionPerformed(ActionEvent e){

writer.println(text.getText());

}

}

vb写的客户端(w as Winsock):

Private Sub Command1_Click()

W.Connect

End Sub

Private Sub Command2_Click()

If Caption = "Connected" And Text1.Text <> "" Then W.SendData Text1.Text

End Sub

Private Sub w_connect()

Caption = "Connected"

End Sub

Private Sub w_dataarrival(ByVal bytetotal As Long)

Dim r

W.GetData r

Print r

End Sub

--------------------------------------

它们可以连接上,但互相发信息就不可以,如何解决?(看来都是服务器出问题了.......)

如果在vb的代码里加上:

Private Sub w_Connnect()

w.SendData "abc" & vbcrlf

end sub

则java端打开程序时,Label就是"abc"了,我想应该是java端的

while(true){

lab.setText(net.readLine());

}

这里出了问题

展开

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值