这两个程序实现了网络聊天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());
}
这里出了问题
展开