资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

java服务器源代码 服务器源码是什么

socket JAVA 源代码

很久以前做的了,启动程序两次,在单选框中选服务器点连接(一定要先点服务器-连接),在在另外一个界面中选客户端点连接;

创新互联主营噶尔网站建设的网络公司,主营网站建设方案,重庆APP开发,噶尔h5成都小程序开发搭建,噶尔网站营销推广欢迎噶尔等地区企业咨询

import java.awt.Color;

import java.awt.Container;

import java.awt.Font;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.BufferedReader;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.InetAddress;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Date;

import javax.swing.ButtonGroup;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JRadioButton;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class QQ extends JFrame implements ActionListener{

public static void main(String args[]){

QQ qq=new QQ();

}

String input;

ServerSocket ss;

Socket s1,s2;

PrintWriter pw;

BufferedReader br;

private server s;

private client cc;

private JLabel l1,l2,l3,l4,l5;

private JRadioButton jb[]=new JRadioButton[2];

private JTextField jf1,jf2,jf3;

private JButton j1,j2,j3;

private JTextArea ja;

public QQ(){

super("聊天");

Container c=getContentPane();

c.setLayout(null);

l1=new JLabel("TCP通信程序");

l1.setFont(new Font("宋体",Font.BOLD,16));

l1.setBackground(Color.black);

l1.setSize(2000,20);

l1.setLocation(10,10);

c.add(l1);

String str1[]={"服务端","客户端"};

ButtonGroup bg=new ButtonGroup();

for(int x=0;xstr1.length;x++)

{

jb[x]=new JRadioButton(str1[x]);

jb[x].setFont(new Font("宋体",Font.BOLD,15));

jb[x].setForeground(Color.black);

jb[x].setSize(80,40);

jb[x].setLocation(10+x*80,37);

bg.add(jb[x]);

c.add(jb[x]);

}

jb[0].setSelected(true);

l2=new JLabel("连接主机IP");

l2.setFont(new Font("宋体",Font.BOLD,16));

l2.setBackground(Color.black);

l2.setSize(120,20);

l2.setLocation(20, 80);

c.add(l2);

jf1=new JTextField("127.0.0.1");

jf1.setSize(220,30);

jf1.setLocation(120, 80);

c.add(jf1);

jf3=new JTextField("离线");

jf3.setSize(150,30);

jf3.setLocation(280, 40);

c.add(jf3);

l5=new JLabel("连接状态:");

l5.setFont(new Font("宋体",Font.BOLD,16));

l5.setBackground(Color.black);

l5.setSize(120,20);

l5.setLocation(200, 47);

c.add(l5);

j1=new JButton("连接");

j1.setSize(110,20);

j1.setLocation(360,85);

j1.addActionListener(this);

c.add(j1);

l3=new JLabel("接收到的信息");

l3.setFont(new Font("宋体",Font.BOLD,16));

l3.setBackground(Color.black);

l3.setSize(120,20);

l3.setLocation(20, 130);

c.add(l3);

ja=new JTextArea();

ja.setSize(250,200);

ja.setLocation(130, 130);

c.add(ja);

l4=new JLabel("发送信息");

l4.setFont(new Font("宋体",Font.BOLD,16));

l4.setBackground(Color.black);

l4.setSize(120,20);

l4.setLocation(20, 340);

c.add(l4);

jf2=new JTextField("gf");

jf2.setSize(220,30);

jf2.setLocation(120, 340);

c.add(jf2);

j2=new JButton("发送信息");

j2.setSize(110,20);

j2.setLocation(360,350);

j2.addActionListener(this);

c.add(j2);

j3=new JButton("结束连接");

j3.setSize(110,20);

j3.setLocation(360,110);

j3.addActionListener(this);

c.add(j3);

s=new server();

cc=new client();

j3.setEnabled(false);

j2.setEnabled(false);

setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

setSize(500,450);

setVisible(true);

setLocation(300,300);

}

public void actionPerformed(ActionEvent e) {

// TODO 自动生成方法存根

if(e.getSource()==j1)

{

try{

if(jb[0].isSelected()==true)

{

input="";

s.start();

}

else {

input="";

cc.start();

}

}

catch(Exception ee)

{

jf3.setText("发生错误");

}

}

if(e.getSource()==j2)

{

pw.write(jf2.getText()+"\n");

pw.flush();

}

if(e.getSource()==j3)

{

try

{

if(jb[0].isSelected()==true)

{ s1.close();

jf3.setText("离线");

j2.setEnabled(false);

j3.setEnabled(false);

}

else

{

s2.close();

jf3.setText("离线");

j2.setEnabled(false);

j3.setEnabled(false);

}

}

catch (Exception e1) {

// TODO 自动生成 catch 块

}

}

}

class server extends Thread{

public void run(){

try {

j1.setEnabled(false);

jf3.setText("正在连接中@");

ss=new ServerSocket(4000);

s1=ss.accept();

br=new BufferedReader(new InputStreamReader(s1.getInputStream()));

pw=new PrintWriter(s1.getOutputStream(),true);

// bs=new BufferedOutputStream(os);

while(true){

if(ss.isBound()==true){

jf3.setText("连接成功");

j2.setEnabled(true);

j3.setEnabled(true);

break;

}

}

while(true)

{

input=br.readLine();

if(input.length()0){

ja.append(input);

ja.append("\n");

}

}

} catch (Exception e) {

// TODO 自动生成 catch 块

}

}

}

class client extends Thread{

public void run(){

try {

j1.setEnabled(false);

jf3.setText("正在连接中@");

s2=new Socket(InetAddress.getByName(jf1.getText()),4000);

// s2=new Socket();

// s2.connect(new InetSocketAddress(jf1.getText(),21),1000);

br=new BufferedReader(new InputStreamReader(s2.getInputStream()));

pw=new PrintWriter(s2.getOutputStream(),true);

// bs=new BufferedOutputStream(os);

while(true){

if(s2.isConnected()==true){

jf3.setText("连接成功");

j2.setEnabled(true);

j3.setEnabled(true);

break;

}

}

input="";

while(true){

input=br.readLine();

if(input.length()0)

{

ja.append(input);

}

}

} catch (Exception e) {

// TODO 自动生成 catch 块

}

}

}

}

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; i response.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

socket = new Socket(hostname,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; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

//执行过程中,有两个个参数时的构造方法,第一个参数hostname指定服务器地址

//第一个参数serverPort指定服务器端口号

public ClientSocketDemo(String hostname,String serverPort)

{

try

{

socket = new Socket(hostname,Integer.parseInt(serverPort));

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; i response.length; i++)

{

response[i] = in.readUTF();

System.out.println(response[i]);

}

}

catch(UnknownHostException e){e.printStackTrace();}

catch(IOException e){e.printStackTrace();}

}

public static void main(String[] args)

{

String comd[] = args;

if(comd.length == 0)

{

System.out.println("Use localhost(127.0.0.1) and default port");

ClientSocketDemo demo = new ClientSocketDemo();

}

else if(comd.length == 1)

{

System.out.println("Use default port");

ClientSocketDemo demo = new ClientSocketDemo(args[0]);

}

else if(comd.length == 2)

{

System.out.println("Hostname and port are named by user");

ClientSocketDemo demo = new ClientSocketDemo(args[0],args[1]);

}

else System.out.println("ERROR");

}

}

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

【ServerSocketDemo.java 服务器端Java源代码】

import java.net.*;

import java.io.*;

public class ServerSocketDemo

{

//声明ServerSocket类对象

ServerSocket serverSocket;

//声明并初始化服务器端监听端口号常量

public static final int PORT = 10745;

//声明服务器端数据输入输出流

DataInputStream in;

DataOutputStream out;

//声明InetAddress类对象ip,用于获取服务器地址及端口号等信息

InetAddress ip = null;

//声明字符串数组对象request,用于存储从客户端发送来的信息

String request[];

public ServerSocketDemo()

{

request = new String[3]; //初始化字符串数组

try

{

//获取本地服务器地址信息

ip = InetAddress.getLocalHost();

//以PORT为服务端口号,创建serverSocket对象以监听该端口上的连接

serverSocket = new ServerSocket(PORT);

//创建Socket类的对象socket,用于保存连接到服务器的客户端socket对象

Socket socket = serverSocket.accept();

System.out.println("This is server:"+String.valueOf(ip)+PORT);

//创建服务器端数据输入输出流,用于对客户端接收或发送数据

in = new DataInputStream(socket.getInputStream());

out = new DataOutputStream(socket.getOutputStream());

//接收客户端发送来的数据信息,并显示

request[0] = in.readUTF();

request[1] = in.readUTF();

request[2] = in.readUTF();

System.out.println("Received messages form client is:");

System.out.println(request[0]);

System.out.println(request[1]);

System.out.println(request[2]);

//向客户端发送数据

out.writeUTF("Hello client!");

out.writeUTF("Your ip is:"+request[1]);

out.writeUTF("Your port is:"+request[2]);

}

catch(IOException e){e.printStackTrace();}

}

public static void main(String[] args)

{

ServerSocketDemo demo = new ServerSocketDemo();

}

}

Java网站的源代码怎么在本地运行

首先 java网站是基于jdk运行的。你得先装jdk。去官网下载一个jdk安装。然后你得编译你的项目,打包到容器(tomcat,weblogic,jboss等)中运行即可。再提醒一下就是,看看你的源代码有木有用到数据库或者其他类型的服务。如果有的话,你得装数据库或服务,并且初始化数据。再启动你的你的容器。

java 服务器代码倒出来,就是源码吗?

是的。因为源代码,gitlab上下载的代码,后缀名是java的就是源代码,可以用IDEA打开查看,查看某个方法可以实现跳转。所以java服务器代码倒出来,就是源码。


分享名称:java服务器源代码 服务器源码是什么
路径分享:http://cdkjz.cn/article/hppheg.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220