客户端Socket和界面无法进行连接
主要是客户端Socket和界面进行连接的时候出现代码问题。
采用的是用Socket 和ServerSocket之间进行通信的时候,我要用一个QQ界面进行登录的时候,点击登录按钮无法切换至另外一个界面,甚至会进行卡克,无法关闭。烦请各位大神帮我看看代码哪里出错了。非常感谢,谢谢,谢谢。
客户端代码如下:
package moxing;
import gonggong.Message;
import gonggong.User;
import java.net.*;
import java.io.*;
public class LianJie{
public Socket s=null;
public boolean fasong(Object o)
{
boolean b=false;
try{
s=new Socket("127.0.0.1",8888);
ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());
oos.writeObject(o);
ObjectInputStream ois=new ObjectInputStream(s.getInputStream());
Message ms=(Message)ois.readObject();
if(ms.getMessage().equals("1"))
{
b=true;
}
}catch(Exception e){}
return b;
}
}
验证代码如下
package moxing;
import gonggong.User;
public class YanZheng {
public boolean yz(User u)
{
return new LianJie().fasong(u);
}
}
登录界面和客户端进行连接的代码如下
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
if(e.getSource()==login)
{
System.out.println("登录用户");
YanZheng yanzheng=new YanZheng();
//用户名和密码属性值
User u=new User();
//从文本框和密码框中获取用户名和密码
u.setUserId(text.getText().trim());
u.setUserPass(new String(pass.getPassword()));//因为密码框为char类型
//进行验证,如果返回值为真则进行登录
if(yanzheng.yz(u))
{
new Liebiao(u.getUserId());
this.dispose();
}else{
JOptionPane.showMessageDialog(this,"用户名或密码输入有误");
}
}
}
用户名和密码代码如下
package gongong;
public class User implements java.io.Serializable{
private String userId,userPass;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserPass() {
return userPass;
}
public void setUserPass(String userPass) {
this.userPass = userPass;
}
}