手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

基于Tcp/IP的JAVA简单聊天程序

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

DisConnect.setEnabled(false);
SendMsg.setEnabled(false);
Connect.setEnabled(true);

}
}
});

SMSField = new JTextField();
SMSField.setBounds(100 , 350 , 200 , 20);
SMSField.setToolTipText("Enter your message here");
c.add(SMSField);
// send message
SendMsg = new JButton("Send");
SendMsg.setBounds(320,350 , 100 , 20);
SendMsg.addKeyListener(new KeyListener()
{
public void keyPressed(KeyEvent e)
{

}
public void keyTyped(KeyEvent e)
{
int key = e.getKeyCode();
if(key == 119)
{
try
{
pWriter.write(SMSField.getText());
pWriter.write("\n");
pWriter.flush();
SMSField.setText("");
}
catch(NullPointerException NpEx)
{
return;
}
}
}
public void keyReleased(KeyEvent e)
{

}
});


SendMsg.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
pWriter.write(SMSField.getText());
pWriter.write("\n");
pWriter.flush();
if(rButton[0].isSelected() == true)
{
MessageTextArea.setText("(Server) :" SMSField.getText());
}
else
{
MessageTextArea.setText("(Client) :" SMSField.getText());
}

SMSField.setText("");

}
catch(NullPointerException NpEx)
{
return;
}

}
});
c.add(SendMsg);

//send file
/*
SendFile = new JButton("Send File");
SendFile.setBounds(320 , 300 , 100,20);
SendFile.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
JFileChooser FileCh = new JFileChooser();
FileCh.setDialogTitle("Open File");
FileCh.setApproveButtonText("Open");
FileCh.showOpenDialog(c);
File FileName = FileCh.getSelectedFile();
FileReader FRead = null;
FileInputStream Input = null;
try
{

Input = new FileInputStream(FileName);
}


}
});
c.add(SendFile);
*/
JLabel about = new JLabel("Make by cat lee");
about.setBounds(50 , 400 , 100 , 20);
c.add(about);
//set up the server and client thread
Client = new NetWork_Client();
Server = new NetWork_Server();

}
//The Server Thread
class NetWork_Server extends Thread
{
public NetWork_Server()
{
}
public void run()
{
try
{
Connect.setEnabled(true);
State.setText("Waiting for Connect");
cHost.setText(InetAddress.getLocalHost().getHostAddress());
sSocket = new ServerSocket(1984);
InSocket = sSocket.accept();
bufReader = new BufferedReader(new InputStreamReader(InSocket.getInputStream()));
pWriter = new PrintWriter(InSocket.getOutputStream() , true);


while(true)
{
if(sSocket.isBound() == true)
{//makesure is bound
State.setText("Connecting");
DisConnect.setEnabled(true);
Connect.setEnabled(false);
SendMsg.setEnabled(true);
break;
}

}
while(true)
{
InStr = bufReader.readLine();
if(InStr.length() >0 )
{
MessageTextArea.setText("(Client) :");
MessageTextArea.append(InStr);
MessageTextArea.append("\n");
}

}
}
catch(Exception Ex)
{

if(sSocket.isBound() == false)
{
ErrorMsg = "Disconnected";

State.setText("Closed...");
DisConnect.setEnabled(false);
Connect.setEnabled(true);
//InSocket.close();
JOptionPane.showMessageDialog(c , ErrorMsg,title,type);

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!