java聊天室代码百度云 java聊天程序代码( 四 )


//得到其他窗口传递的字符串,并判断是否结束
while(!(s1=in.readLine()).equals("bye")){
text6.setText("可可在线");//当连接成功是在用户列表中 输出用户名字
if(!s1.equals("")){//如果传递的字符串不为 空
text1.append("可可: "+lab10.getText()+"\n");//在聊天记录上添加文本
text1.append(s1+"\n");//将输入的聊天内容输出在聊天记录上
}
s2=s;//将在聊天窗口中得到的字符串传递给输出字符串
for(;s2.equals("")||s2.equals(null);s2=s){//当传递的字符串为空时等待用户输入聊天内容
}
s="";//将在聊天窗口中得到的字符串设为空
if(!s2.equals("")!s2.equals(null)){// s2不为空时做
out.println(s2);//向其他窗口输出字符串
}
out.flush();//输出聊天内容
}
//关闭连接
in.close();
out.close();
socket.close();
server.close();
}catch(Exception e){
}
}
//main函数
public static void main(String args[]){
new Login();//登录实现} }
}
}
时间类class Time
package com.server;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.JLabel;
import javax.swing.Timer; //时间类
public class Time {
public Time(JLabel time){
//构造方法this.setTimer(time);
//设置时间
}
public void setTimer(JLabel time){
//设置时间方法
final JLabel varTime = time;
//传递组件
Timer timeAction = new Timer(1000, new ActionListener() {
//时间监听
public void actionPerformed(ActionEvent e) {
long timemillis = System.currentTimeMillis();//得到系统时间
SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//转换日期显示格式
varTime.setText(df.format(new Date(timemillis)));//输出得到的时间
}
});
timeAction.start();//开启线程
}
}
java聊天室 源代码【ClientSocketDemo.java 客户端Java源代码】
import java.net.*;
import java.io.*;
public class ClientSocketDemo
{
//声明客户端Socket对象socket
Socket socket = null;
//声明客户器端数据输入输出流
DataInputStream in;
DataOutputStream out;
//声明字符串数组对象response,用于存储从服务器接收到的信息
String response[];
//执行过程中,没有参数时的构造方法,本地服务器在本地,取默认端口10745
public ClientSocketDemo()
{
try
{
//创建客户端socket,服务器地址取本地,端口号为10745
socket = new Socket("localhost",10745);
//创建客户端数据输入输出流,用于对服务器端发送或接收数据
in = new DataInputStream(socket.getInputStream());
out = new DataOutputStream(socket.getOutputStream());
//获取客户端地址及端口号
String ip = String.valueOf(socket.getLocalAddress());
String port = String.valueOf(socket.getLocalPort());
//向服务器发送数据
out.writeUTF("Hello Server.This connection is from client.");
out.writeUTF(ip);
out.writeUTF(port);
//从服务器接收数据
response = new String[3];
for (int i = 0; iresponse.length; i++)
{
response[i] = in.readUTF();
System.out.println(response[i]);
}
}
catch(UnknownHostException e){e.printStackTrace();}
catch(IOException e){e.printStackTrace();}
}
//执行过程中,有一个参数时的构造方法,参数指定服务器地址,取默认端口10745
public ClientSocketDemo(String hostname)
{
try
{
//创建客户端socket,hostname参数指定服务器地址 , 端口号为10745

推荐阅读