意见箱
恒创运营部门将仔细参阅您的意见和建议,必要时将通过预留邮箱与您保持联络。感谢您的支持!
意见/建议
提交建议

自由聊天程序

来源:恒创科技 编辑:恒创科技编辑部
2022-09-08 18:10:00


package test;

import java.io.*;
import java.net.Socket;

public class TestClient
{
public static void main(String[] args)
{
try
{
Socket s=new Socket("localhost",8888);
System.out.println("已经和服务器建立连接");
DataInputStream dis=new DataInputStream(s.getInputStream());
DataOutputStream dos=new DataOutputStream(s.getOutputStream());
new MyClientReader(dis).start();
new MyClientWriter(dos).start();
}
catch(Exception e)
{
e.printStackTrace();
}
}

}
class MyClientReader extends Thread
{
private DataInputStream dis;

public MyClientReader(DataInputStream dis)
{
super();
this.dis = dis;
}
public void run()
{
String message;
try
{
while(true)
{
message=dis.readUTF();
System.out.println("服务端说:"+message);
if(message.equals("88"))
{
System.out.println("对方已经下线,程序退出");
System.exit(0);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}
class MyClientWriter extends Thread
{
private DataOutputStream dos;

public MyClientWriter(DataOutputStream dos)
{
super();
this.dos = dos;
}
public void run()
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String message;
try
{
while(true)
{
System.out.print("请输入消息:");
message=br.readLine();
dos.writeUTF(message);
if(message.equals("88"))
{
System.out.println("自己下线,程序退出");
System.exit(0);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}

}

package test;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

public class TestServer
{
public static void main(String[] args)
{
System.out.println("服务器启动成功");
try
{
ServerSocket ss=new ServerSocket(8888);
Socket s=ss.accept();
System.out.println("已经和客户端建立连接");
OutputStream os=s.getOutputStream();
DataOutputStream dos=new DataOutputStream(os);
InputStream is=s.getInputStream();
DataInputStream dis=new DataInputStream(is);
new MyServerReader(dis).start();
new MyServerWriter(dos).start();
}
catch(Exception e)
{
e.printStackTrace();
}
}

}
class MyServerReader extends Thread
{
private DataInputStream dis;

public MyServerReader(DataInputStream dis)
{
super();
this.dis = dis;
}
public void run()
{
String message;
try
{
while(true)
{
message=dis.readUTF();
System.out.println("客户端说:"+message);
if(message.equals("88"))
{
System.out.println("对方下线,程序退出");
System.exit(0);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}

}
class MyServerWriter extends Thread
{
private DataOutputStream dos;

public MyServerWriter(DataOutputStream dos)
{
super();
this.dos = dos;
}
public void run()
{
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
String message;
try
{
while(true)
{
message=br.readLine();
dos.writeUTF(message);
if(message.equals("88"))
{
System.out.println("自己下线,程序退出");
System.exit(0);
}
}
}
catch(Exception e)
{
e.printStackTrace();
}
}
}


自由聊天程序

上一篇: 租用美国服务器:潜在的风险与应对策略。 下一篇: 从IslandsArchitecture看前端有多卷