「java二人及时聊天」java实现聊天
今天给各位分享java二人及时聊天的知识,其中也会对java实现聊天进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、java模拟聊天窗口怎么两个人聊天啊?
- 2、我要一份用java网络编程写的点对点的两人聊天程序(TCP和UDP)?
- 3、求java两人聊天室程序 有图形 源代码,请高手指教
- 4、用java做一个两个人之间的聊天软件
java模拟聊天窗口怎么两个人聊天啊?
简单一点用session,复杂一点么,tomcat上面有聊天室的示例程序,用的长链接
我要一份用java网络编程写的点对点的两人聊天程序(TCP和UDP)?
Server端:
import java.io.*;
import java.net.*;
import java.applet.Applet;
public class TalkServer{
public static void main(String args[]) {
try{
ServerSocket server=null;
try{
server=new ServerSocket(4700);
}catch(Exception e) {
System.out.println("can not listen to:"+e);
}
Socket socket=null;
try{
socket=server.accept();
}catch(Exception e) {
System.out.println("Error."+e);
}
String line;
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
System.out.println("Client:"+is.readLine());
line=sin.readLine();
while(!line.equals("bye")){
os.println(line);
os.flush();
System.out.println("Server:"+line);
System.out.println("Client:"+is.readLine());
line=sin.readLine();
}
os.close();
is.close();
socket.close();
server.close();
}catch(Exception e){
System.out.println("Error:"+e);
}
}
}
Client端:
import java.io.*;
import java.net.*;
public class TalkClient {
public static void main(String args[]) {
try{
Socket socket=new Socket("127.0.0.1",4700);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
PrintWriter os=new PrintWriter(socket.getOutputStream());
BufferedReader is=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String readline;
readline=sin.readLine(); //从系统标准输入读入一字符串
while(!readline.equals("bye")){
os.println(readline);
os.flush();
System.out.println("Client:"+readline);
System.out.println("Server:"+is.readLine());
readline=sin.readLine(); //从系统标准输入读入一字符串
}
os.close(); //关闭Socket输出流
is.close(); //关闭Socket输入流
socket.close(); //关闭Socket
}catch(Exception e) {
System.out.println("Error"+e); //出错,则打印出错信息
}
}
}
求java两人聊天室程序 有图形 源代码,请高手指教
package socketserver;
import socketserver.ReadThread;
import java.io.DataInputStream;
import java.io.IOException;
import javax.swing.JTextArea;
public class ReadThread extends Thread{
JTextArea ta;
DataInputStream dis;
public ReadThread(JTextArea t,DataInputStream d)
{
this.ta=t;
this.dis=d;
}
public void run(){
try{
while(true)
{
ta.append("对方说:"+dis.readUTF());
ta.append("\n");
}
}
catch(IOException e)
{
System.out.println("连接中断!");
}
}
}
---------------------------------------------
package socketserver;
import socketserver.ReadThread;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class TestServer extends JFrame implements ActionListener{
DataInputStream dis;
DataOutputStream dos;
JTextField tf;
JTextArea ta;
public TestServer(){
this.setTitle("TT服务器");
JScrollPane jp=new JScrollPane();
ta =new JTextArea(10,10);
Panel p=new Panel();
tf=new JTextField(20);
JButton b = new JButton("发送");
b.addActionListener(this);
tf.addActionListener(this);
p.add(tf);
p.add(b);
jp.setViewportView(ta);
this.getContentPane().add(jp);
this.getContentPane().add("South",p);
this.setSize(350,250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.setVisible(true);
tf.requestFocus();
this.connect();
this.createReadThread();
}
public void connect(){
while(true)
try{
ServerSocket ss=new ServerSocket(911);
Socket s2=ss.accept();
InputStream is=s2.getInputStream();
dis=new DataInputStream(is);
OutputStream os=s2.getOutputStream();
dos=new DataOutputStream(os);
}
catch(IOException e)
{
System.out.println("连接服务器故障!");
}
}
public void createReadThread(){
ReadThread rt=new ReadThread(this.ta,this.dis);
rt.start();
}
public void actionPerformed(ActionEvent e){
try{
String s=tf.getText();
dos.writeUTF(s);
ta.append("自己说: "+s);
ta.append("\n");
tf.setText("");
tf.requestFocus();
}
catch(IOException e1)
{
e1.printStackTrace();
}
}
public static void main(String[] args) {
// TODO 自动生成方法存根
new TestServer();
}
}
-------------------------------------------------------------
package socketserver;
import java.awt.Panel;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.Socket;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JScrollPane;
import javax.swing.JTextArea;
import javax.swing.JTextField;
public class TextClient extends JFrame implements ActionListener{
DataInputStream dis;
DataOutputStream dos;
JTextField tf;
JTextArea ta;
String s11,s22;
public TextClient(String s1,String s2){
this.setTitle("TT聊天--作者:扈海涛");
JScrollPane jp=new JScrollPane();
ta =new JTextArea(10,10);
Panel p=new Panel();
tf=new JTextField(20);
JButton b=new JButton("发送");
b.addActionListener(this);
tf.addActionListener(this);
p.add(tf);
p.add(b);
jp.setViewportView(ta);
this.getContentPane().add(jp);
this.getContentPane().add("South",p);
this.setSize(350,250);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.s11=s1;
this.s22=s2;
this.setVisible(true);
tf.requestFocus();
this.connect();
this.createReadThread();
}
public void connect(){
try{
Socket s2=new Socket(s22,911);
InputStream is=s2.getInputStream();
dis=new DataInputStream(is);
OutputStream os=s2.getOutputStream();
dos=new DataOutputStream(os);
}catch(IOException e){
System.out.println("连接服务器故障!");
}
}
public void createReadThread(){
ReadThread rt=new ReadThread(this.ta,this.dis);
rt.start();
}
public void actionPerformed(ActionEvent arg0) {
try{
String s=tf.getText();
dos.writeUTF(s11+"说:"+s);
ta.append("自己说:"+s);
ta.append("\n");
tf.setText("");
tf.requestFocus();
}catch(IOException e1)
{
e1.printStackTrace();
}
}
public static void main(String[]args){
new TextClient("","192.168.1.177");
}
}
看不懂了在问我
用java做一个两个人之间的聊天软件
2个类搞定,一个socket,一个serversocket,通过ip和端口连接后用输入输出流对接,原理大概是这样
以前学Java看马士兵视频时有这么个例子,讲的不错,楼主可以搜搜马士兵聊天室的例子
关于java二人及时聊天和java实现聊天的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
发布于:2022-11-24,除非注明,否则均为
原创文章,转载请注明出处。