| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 443 人关注过本帖
标题:[求助]服务器与客户端连接不了
只看楼主 加入收藏
yqfang310
Rank: 2
等 级:新手上路
威 望:4
帖 子:458
专家分:0
注 册:2006-10-10
收藏
 问题点数:0 回复次数:1 
[求助]服务器与客户端连接不了

我做了一个模拟QQ聊天功能的东东;可是现在连连接到一起都成问题,老是出错有没有高手能帮忙看看啊,怎么样让他们连接在一起啊??
其中服务器代码如下:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
public class Server extends JFrame
{
static JTextArea ja1 = new JTextArea(12,35);//静态变量

JTextArea ja2 = new JTextArea(5,12);

JScrollPane jp1 = new JScrollPane(ja1);
JScrollPane jp2 = new JScrollPane(ja2);
JButton jb1 = new JButton("发送");
JButton jb2 = new JButton("打开服务器");

String str1= "";
ServerSocket serverSocket;
DataInputStream inFromClient;
DataOutputStream outToClient;
Socket connectToClient;

public Server()
{
super("服务器");
Container con = getContentPane();
con.setLayout(new FlowLayout());

jb1.addActionListener(new ActionListener()
{
//按键jb1触发事件
public void actionPerformed(ActionEvent e)
{
Connect(); //调用连接函数
ja2.setText("连接到客户端");
}
});
jb2.addActionListener(new ActionListener()
{
//按键jb2触发事件
public void actionPerformed(ActionEvent e)
{

sentData();//调用发送数据函数
}
});

con.add(jp1);
con.add(jp2);
con.add(jb1);
con.add(jb2);

setBounds(100,100,400,400);
setVisible(true);
} ////////////////////////////////完成组件构造

public void Connect()//连接主机
{
try{
serverSocket = new ServerSocket(5500);
connectToClient = serverSocket.accept();
}
catch(IOException e)
{
e.getStackTrace();
}

}
public void sentData()//发送数据
{
try
{
//inFromClient = new DataInputStream(connectToServer.getInputStream());
outToClient = new DataOutputStream(connectToClient.getOutputStream());
outToClient.writeUTF(str1);
outToClient.flush();

}
catch(IOException e)
{
}

}



public static void main(String[]args)
{
Server cp = new Server();
cp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
}
客户端代码如下:
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.event.*;
public class Client extends JFrame
{
static JTextArea ja1 = new JTextArea(12,35);//静态变量

JTextArea ja2 = new JTextArea(5,12);

JScrollPane jp1 = new JScrollPane(ja1);
JScrollPane jp2 = new JScrollPane(ja2);
JButton jb1 = new JButton("发送");
JButton jb2 = new JButton("连接");

String str1= "";
Socket connectToServer;
DataInputStream inFromServer;
DataOutputStream outToServer;

public Client()
{
super("客户端");
Container con = getContentPane();
con.setLayout(new FlowLayout());

jb1.addActionListener(new ActionListener()
{
//按键jb1触发事件
public void actionPerformed(ActionEvent e)
{
Connect(); //调用连接函数
ja2.setText("连接到服务器");
}
});
jb2.addActionListener(new ActionListener()
{
//按键jb2触发事件
public void actionPerformed(ActionEvent e)
{

sentData();//调用发送数据函数
}
});

con.add(jp1);
con.add(jp2);
con.add(jb1);
con.add(jb2);

setBounds(100,100,400,400);
setVisible(true);
} ////////////////////////////////完成组件构造

public void Connect()//连接主机
{
try{
connectToServer = new Socket("192.168.1.93",5500);
}
catch(IOException e)
{
e.getStackTrace();
}

}
public void sentData()//发送数据
{
try
{
//inFromServer = new DataInputStream(connectToServer.getInputStream());
outToServer = new DataOutputStream(connectToServer.getOutputStream());
outToServer.writeUTF(str1);
outToServer.flush();

}
catch(IOException e)
{
}

}



public static void main(String[]args)
{
Client cp = new Client();
cp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}
}

搜索更多相关主题的帖子: 服务器 客户端 
2007-04-18 19:28
千里冰封
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:灌水之王
等 级:版主
威 望:155
帖 子:28477
专家分:59
注 册:2006-2-26
收藏
得分:0 
你两个都是把数据写出,如何显示出来

并且连接的模式也不是应该这样的,你应该在服务器端起一个线程处理新来的连接,还有

你起ServerSocket的时候,不要以UI线程里面做,应该起一个线程把它建起来,然后用一个无限循在那里监听

可惜不是你,陪我到最后
2007-04-19 09:07
快速回复:[求助]服务器与客户端连接不了
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.016572 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved