「java二人及时聊天」java实现聊天

博主:adminadmin 2022-11-24 13:16:07 49

今天给各位分享java二人及时聊天的知识,其中也会对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实现聊天的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-11-24,除非注明,否则均为首码项目网原创文章,转载请注明出处。