Java Socket 基于TCP编程

本文介绍了使用Java Socket基于TCP协议实现聊天室通信的过程。讲解了服务器如何监听并处理多个客户端的连接,以及客户端如何通过接收和发送线程与服务器交互。在实际操作中,需先启动服务器,然后客户端才能成功连接。
摘要由CSDN通过智能技术生成

Java Socket TCP 聊天室通信,实现一个服务器接收多个客户端。

在效果图中有两个登录界面,登录界面这里我设的用户名和密码分别在代码的响应事件中有出现,可以在下面的代码中看出登录。

下图是登录以后的客户端界面还有登录以后的服务器界面,在运行程序时候要先开始服务器端的后才能使得客户端可以与服务器端连接到

 


客户端:

package test;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.border.TitledBorder;

public class test1 extends JFrame {
	static Socket socket = null;
	String name = null;
	BufferedReader in;
	PrintWriter out;
	
	
	JTextArea jtextarea_north = new JTextArea(14,40);    // 创建聊天区
	JTextArea jtextarea_south = new JTextArea(5,40);   //  创建输入的文本区
	JScrollPane jsp_north = new JScrollPane(jtextarea_north);    // 创建滚动的聊天区   将聊天区叫到滚动区里面
	JScrollPane jsp_south = new JScrollPane(jtextarea_south);
	
	JButton jbutton_send = new JButton("发送");        // 创建发送的按钮
	JButton jbutton_close = new JButton("关闭");
	
	JPanel pan_north = new JPanel();      //  创建面板
	JPanel pan_south = new JPanel(); 
	JPanel pan_picture = new JPanel();
	JPanel pan_button = new JPanel();
	
	
	JFrame jframe1 = new JFrame("登录界面");
	JLabel[] array = {new JLabel("用户名"),new JLabel("密码")};
	JTextField jname = new JTextField();
	JPasswordField jpassword = new JPasswordField();
	JButton enter = new JButton("登录");
	JButton cancel = new JButton("取消");
	
	Thread receive = new Thread(new receiveThread());
	
	
	public void enter()
	{
		
		jframe1.setLayout(null);
		array[0].setBounds(20,20,50,25);
		jname.setBounds(70,20,170,25);
		array[1].setBounds(20,60,50,25);
		jpassword.setBounds(70,60,170,25);
		jframe1.setBounds(700,500,280,220);
		enter.setBounds(50, 100, 70, 30);
		cancel.setBounds(150, 100, 70, 30);
		jframe1.add(enter);
		jframe1.add(cancel);
		jframe1.add(jn
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值