java登陆服务器代码 java代码部署服务器

登陆界面的java代码怎么写?

概述

专注于为中小企业提供网站建设、网站制作服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业平原免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了千余家企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

具体框架使用jframe,文本框组件:JTextField;密码框组件:JPasswordField;标签组件:JLabel;复选框组件:JCheckBox;单选框组件:JRadioButton;按钮组件JButton。

登录界面:

代码实例

import javax.swing.*;

import java.awt.*;   //导入必要的包

public class denglu extends JFrame{

JTextField jTextField ;//定义文本框组件

JPasswordField jPasswordField;//定义密码框组件

JLabel jLabel1,jLabel2;

JPanel jp1,jp2,jp3;

JButton jb1,jb2; //创建按钮

public denglu(){

jTextField = new JTextField(12);

jPasswordField = new JPasswordField(13);

jLabel1 = new JLabel("用户名");

jLabel2 = new JLabel("密码");

jb1 = new JButton("确认");

jb2 = new JButton("取消");

jp1 = new JPanel();

jp2 = new JPanel();

jp3 = new JPanel();

//设置布局

this.setLayout(new GridLayout(3,1));

jp1.add(jLabel1);

jp1.add(jTextField);//第一块面板添加用户名和文本框

jp2.add(jLabel2);

jp2.add(jPasswordField);//第二块面板添加密码和密码输入框

jp3.add(jb1);

jp3.add(jb2); //第三块面板添加确认和取消

//        jp3.setLayout(new FlowLayout());  //因为JPanel默认布局方式为FlowLayout,所以可以注销这段代码.

this.add(jp1);

this.add(jp2);

this.add(jp3);  //将三块面板添加到登陆框上面

//设置显示

this.setSize(300, 200);

//this.pack();

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.setVisible(true);

this.setTitle("登陆");

}

public static void main(String[] args){

new denglu();

}

}

拓展内容

java swing包

Swing 是一个为Java设计的GUI工具包。

Swing是JAVA基础类的一部分。

Swing包括了图形用户界面(GUI)器件如:文本框,按钮,分隔窗格和表。

Swing提供许多比AWT更好的屏幕显示元素。它们用纯Java写成,所以同Java本身一样可以跨平台运行,这一点不像AWT。它们是JFC的一部分。它们支持可更换的面板和主题(各种操作系统默认的特有主题),然而不是真的使用原生平台提供的设备,而是仅仅在表面上模仿它们。这意味着你可以在任意平台上使用JAVA支持的任意面板。轻量级组件的缺点则是执行速度较慢,优点就是可以在所有平台上采用统一的行为。

概念解析:

JFrame – java的GUI程序的基本思路是以JFrame为基础,它是屏幕上window的对象,能够最大化、最小化、关闭。

JPanel – Java图形用户界面(GUI)工具包swing中的面板容器类,包含在javax.swing 包中,可以进行嵌套,功能是对窗体中具有相同逻辑功能的组件进行组合,是一种轻量级容器,可以加入到JFrame窗体中。。

JLabel – JLabel 对象可以显示文本、图像或同时显示二者。可以通过设置垂直和水平对齐方式,指定标签显示区中标签内容在何处对齐。默认情况下,标签在其显示区内垂直居中对齐。默认情况下,只显示文本的标签是开始边对齐;而只显示图像的标签则水平居中对齐。

JTextField –一个轻量级组件,它允许编辑单行文本。

JPasswordField – 允许我们输入了一行字像输入框,但隐藏星号(*) 或点创建密码(密码)

JButton – JButton 类的实例。用于创建按钮类似实例中的 "Login"。

java socket 编程 登录

给你一个聊天室的,这个是客户端之间的通信,服务器负责接收和转发,你所要的服务器与客户端对发,只要给服务器写个界面显示和输入就行,所有代码如下:

你测试的时候应该把所有代码放在同一个工程下,因为客户端可服务器共用同一个POJO,里面有些包的错误,删除掉就行了

服务器代码,即服务器入口程序:

import java.io.BufferedReader;

import java.io.File;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.ObjectOutputStream;

import java.io.PrintWriter;

import java.net.ServerSocket;

import java.net.Socket;

import java.util.Date;

import java.util.HashSet;

public class ChatRoomServer {

private ServerSocket ss;

private HashSetSocket allSockets;

private UserDao dao;

public ChatRoomServer(){

try {

ss=new ServerSocket(9999);

allSockets=new HashSetSocket();

dao=new UserDaoForTextFile(new File("d:/stu/user.txt"));

} catch (IOException e) {

e.printStackTrace();

}

}

public void startService() throws IOException{

while(true){

Socket s=ss.accept();

allSockets.add(s);

new ChatRoomServerThread(s).start();

}

}

class ChatRoomServerThread extends Thread{

private Socket s;

public ChatRoomServerThread(Socket s){

this.s=s;

}

public void run(){

//1,得到Socket的输入流,并包装。

//2,循环从输入流中读取一行数据。

//3,每读到一行数据,判断该行是否是退出命令?

//4,如果是退出命令,则将当前socket从集合中删除,关闭当前socket,并跳出循环

//5,如果不是退出命令,则将该消model.getCurrentUser().getName()息转发给所有在线的客户端。

// 循环遍历allSockets集合,得到每一个socket的输出流,向流中写出该消息。

BufferedReader br=null;

String str = null;

try {

br = new BufferedReader(new InputStreamReader(s

.getInputStream()));

while((str=br.readLine())!=null ){

if(str.indexOf("%EXIT%")==0){

allSockets.remove(s);

//向其他客户端发送XXX退出的消息

sendMessageToAllClient(str.split(":")[1]+"离开聊天室!");

s.close();

break;

}else if(str.indexOf("%LOGIN%")==0){

String userName=str.split(":")[1];

String password=str.split(":")[2];

User user=dao.getUser(userName, password);

ObjectOutputStream oos=new ObjectOutputStream(s.getOutputStream());

oos.writeObject(user);

oos.flush();

if(user!=null){

sendMessageToAllClient(user.getName()+"进入聊天室!");

}

str = null;

}

if(str!=null){

sendMessageToAllClient(str);

}

}

} catch (Exception e) {

e.printStackTrace();

}

}

public void sendMessageToAllClient(String message)throws IOException{

Date date=new Date();

System.out.println(s.getInetAddress()+":"+message+"\t["+date+"]");

for(Socket temps:allSockets){

PrintWriter pw=new PrintWriter(temps.getOutputStream());

pw.println(message+"\t["+date+"]");

pw.flush();

}

}

}

public static void main(String[] args) {

try {

new ChatRoomServer().startService();

} catch (IOException e) {

e.printStackTrace();

}

}

}

客户端代码:

总共4个:

1:入口程序:

public class ChatRoomClient {

private ClientModel model;

public ChatRoomClient(){

// String hostName = JOptionPane.showInputDialog(null,

// "请输入服务器主机名:");

// String portName = JOptionPane

// .showInputDialog(null, "请输入端口号:");

//固定服务端IP和端口

model=new ClientModel("127.0.0.1",Integer.parseInt("9999"));

model.createSocket();

new LoginFrame(model).showMe();

}

public static void main(String[] args) {

new ChatRoomClient();

}

}

2:登陆后显示界面:

import java.awt.BorderLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.BufferedReader;

import java.io.IOException;

import java.io.PrintWriter;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.JTextArea;

import javax.swing.JTextField;

public class ClientMainFrame extends JFrame{

private JTextArea area;

private JTextField field;

private JLabel label;

private JButton button;

private ClientModel model;

public ClientMainFrame(){

super("聊天室客户端v1.0");

area=new JTextArea(20,40);

field=new JTextField(25);

button=new JButton("发送");

label=new JLabel();

JScrollPane jsp=new JScrollPane(area);

this.add(jsp,BorderLayout.CENTER);

JPanel panel=new JPanel();

panel.add(label);

panel.add(field);

panel.add(button);

this.add(panel,BorderLayout.SOUTH);

addEventHandler();

}

public ClientMainFrame(ClientModel model){

this();

this.model=model;

label.setText(model.getCurrentUser().getName());

}

public void addEventHandler(){

ActionListener lis=new SendEventListener();

button.addActionListener(lis);

field.addActionListener(lis);

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent arg0) {

int op=JOptionPane.showConfirmDialog(null,"确认退出聊天室吗?","确认退出",JOptionPane.YES_NO_OPTION);

if(op==JOptionPane.YES_OPTION){

PrintWriter pw = model.getOutputStream();

if(model.getCurrentUser().getName()!=null){

pw.println("%EXIT%:"+model.getCurrentUser().getName());

pw.flush();

}

try {

Thread.sleep(200);

} catch (Exception e) {

}

System.exit(0);

}

}

});

}

public void showMe(){

this.pack();

this.setVisible(true);

this.setLocation(300,300);

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

new ReadMessageThread().start();

}

class SendEventListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

String str=field.getText().trim();

if(str.equals("")){

JOptionPane.showMessageDialog(null, "不能发送空消息!");

return;

}

PrintWriter pw = model.getOutputStream();

pw.println(model.getCurrentUser().getName()+":"+str);

pw.flush();

field.setText("");

}

}

class ReadMessageThread extends Thread{

public void run(){

while(true){

try {

BufferedReader br = model.getInputStream();

String str=br.readLine();

area.append(str+"\n");

} catch (IOException e) {

}

}

}

}

}

3:登陆界面:

import java.awt.Color;

import java.awt.Dimension;

import java.awt.Font;

import java.awt.Point;

import java.awt.Rectangle;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowAdapter;

import java.awt.event.WindowEvent;

import java.io.IOException;

import java.io.InputStream;

import java.io.ObjectInputStream;

import java.io.PrintWriter;

import javax.swing.JButton;

import javax.swing.JFrame;

import javax.swing.JLabel;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JPasswordField;

import javax.swing.JTextField;

public class LoginFrame extends JFrame {

private static final long serialVersionUID = 1L;

private JPanel jContentPane = null;

private JLabel lab1 = null;

private JLabel lab2 = null;

private JLabel lab3 = null;

private JTextField userNameField = null;

private JPasswordField passwordField = null;

private JButton loginButton = null;

private JButton registerButton = null;

private JButton cancelButton = null;

private ClientModel model = null;

/**

* This method initializes userNameField

*

* @return javax.swing.JTextField

*/

private JTextField getUserNameField() {

if (userNameField == null) {

userNameField = new JTextField();

userNameField.setSize(new Dimension(171, 33));

userNameField.setFont(new Font("Dialog", Font.PLAIN, 18));

userNameField.setLocation(new Point(140, 70));

}

return userNameField;

}

/**

* This method initializes passwordField

*

* @return javax.swing.JPasswordField

*/

private JPasswordField getPasswordField() {

if (passwordField == null) {

passwordField = new JPasswordField();

passwordField.setSize(new Dimension(173, 30));

passwordField.setFont(new Font("Dialog", Font.PLAIN, 18));

passwordField.setLocation(new Point(140, 110));

}

return passwordField;

}

/**

* This method initializes loginButton

*

* @return javax.swing.JButton

*/

private JButton getLoginButton() {

if (loginButton == null) {

loginButton = new JButton();

loginButton.setLocation(new Point(25, 180));

loginButton.setText("登录");

loginButton.setSize(new Dimension(75, 30));

}

return loginButton;

}

/**

* This method initializes cancelButton

*

* @return javax.swing.JButton

*/

private JButton getCancelButton() {

if (cancelButton == null) {

cancelButton = new JButton();

cancelButton.setLocation(new Point(270, 180));

cancelButton.setText("取消");

cancelButton.setSize(new Dimension(75, 30));

}

return cancelButton;

}

/**

* 显示界面的方法,在该方法中调用addEventHandler()方法给组件添加事件监听器

*

*/

public void showMe(){

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

this.setVisible(true);

this.setLocation(300,200);

addEventHandler();

}

/**

* 该方法用于给组件添加事件监听

*

*/

public void addEventHandler(){

ActionListener loginListener=new LoginEventListener();

loginButton.addActionListener(loginListener);

passwordField.addActionListener(loginListener);

cancelButton.addActionListener(new ActionListener(){

public void actionPerformed(ActionEvent e) {

try {

model.getSocket().close();

} catch (IOException e1) {

e1.printStackTrace();

}

System.exit(0);

}

});

this.addWindowListener(new WindowAdapter(){

public void windowClosing(WindowEvent arg0) {

try {

model.getSocket().close();

} catch (IOException e1) {

e1.printStackTrace();

}

System.exit(0);

}

});

}

/**

* 该内部类用来监听登录事件

* @author Administrator

*

*/

class LoginEventListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

//?????登录的代码

//1,判断用户名和密码是否为空

//2,从clientmodel得到输出流,PrintWriter

//3,发送登录请求给服务器

//pw.println("%LOGIN%:userName:password");

//4,从socket得到对象输入流,从流中读取一个对象。

//5,如果读到的对象为null,则显示登录失败的消息。

//6,如果读到的对象不为空,则转成User对象,并且将

// clientModel的currentUser对象设置为该对象。

//7,并销毁当前窗口,打开主界面窗口。

String userName = userNameField.getText();

char[] c = passwordField.getPassword();

String password = String.valueOf(c);

if(userName == null || userName.equals("")){

JOptionPane.showMessageDialog(null,"用户名不能为空");

return;

}

if(password == null || password.equals("")){

JOptionPane.showMessageDialog(null,"密码名不能为空");

return;

}

PrintWriter pw = model.getOutputStream();

pw.println("%LOGIN%:"+userName+":"+password);

pw.flush();

try {

InputStream is = model.getSocket().getInputStream();

System.out.println("is"+is.getClass());

ObjectInputStream ois = new ObjectInputStream(is);

Object obj = ois.readObject();

if(obj != null){

User user = (User)obj;

if(user != null){

model.setCurrentUser(user);

LoginFrame.this.dispose();

new ClientMainFrame(model).showMe();

}

}

else{

JOptionPane.showMessageDialog(null,"用户名或密码错误,请重新输入");

userNameField.setText("");

passwordField.setText("");

return;

}

} catch (Exception e1) {

e1.printStackTrace();

}

}

}

public static void main(String[] args) {

new LoginFrame().showMe();

}

/**

* This is the default constructor

*/

public LoginFrame(ClientModel model) {

this();

this.model=model;

}

public LoginFrame(){

super();

initialize();

}

public ClientModel getModel() {

return model;

}

public void setModel(ClientModel model) {

this.model = model;

}

/**

* This method initializes this

*

* @return void

*/

private void initialize() {

this.setSize(362, 267);

this.setContentPane(getJContentPane());

this.setTitle("达内聊天室--用户登录");

}

/**

* This method initializes jContentPane

*

* @return javax.swing.JPanel

*/

private JPanel getJContentPane() {

if (jContentPane == null) {

lab3 = new JLabel();

lab3.setText("密 码:");

lab3.setSize(new Dimension(80, 30));

lab3.setFont(new Font("Dialog", Font.BOLD, 18));

lab3.setLocation(new Point(50, 110));

lab2 = new JLabel();

lab2.setText("用户名:");

lab2.setSize(new Dimension(80, 30));

lab2.setToolTipText("");

lab2.setFont(new Font("Dialog", Font.BOLD, 18));

lab2.setLocation(new Point(50, 70));

lab1 = new JLabel();

lab1.setBounds(new Rectangle(54, 12, 245, 43));

lab1.setFont(new Font("Dialog", Font.BOLD, 24));

lab1.setForeground(new Color(0, 0, 204));

lab1.setText("聊天室--用户登录");

jContentPane = new JPanel();

jContentPane.setLayout(null);

jContentPane.add(lab1, null);

jContentPane.add(lab2, null);

jContentPane.add(lab3, null);

jContentPane.add(getUserNameField(), null);

jContentPane.add(getPasswordField(), null);

jContentPane.add(getLoginButton(), null);

jContentPane.add(getCancelButton(), null);

}

return jContentPane;

}

}

4:客户端管理socket类

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

/**

* 该类定义客户端的全局参数,如:Socket,当前用户,流对象等

*

*/

public class ClientModel {

private Socket socket;

private User currentUser;

private BufferedReader br;

private PrintWriter pw;

private String hostName;

private int port;

public Socket getSocket() {

return socket;

}

public ClientModel(String hostName, int port) {

super();

this.hostName = hostName;

this.port = port;

}

public User getCurrentUser() {

return currentUser;

}

public void setCurrentUser(User currentUser) {

this.currentUser = currentUser;

}

public synchronized Socket createSocket(){

if(socket==null){

try {

socket=new Socket(hostName,port);

}catch (IOException e) {

e.printStackTrace();

return null;

}

}

return socket;

}

public synchronized BufferedReader getInputStream(){

if (br==null) {

try {

br = new BufferedReader(new InputStreamReader(socket

.getInputStream()));

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

return br;

}

public synchronized PrintWriter getOutputStream(){

if (pw==null) {

try {

pw = new PrintWriter(socket.getOutputStream());

} catch (IOException e) {

e.printStackTrace();

return null;

}

}

return pw;

}

public synchronized void closeSocket(){

if(socket!=null){

try {

br.close();

pw.close();

socket.close();

} catch (IOException e) {

e.printStackTrace();

}

}

socket=null;

br=null;

pw=null;

}

}

这里是工具和POJO类:

User类:

import java.io.Serializable;

public class User implements Serializable {

private static final long serialVersionUID = 1986L;

private int id;

private String name;

private String password;

private String email;

public User(){}

public User( String name, String password, String email) {

super();

this.name = name;

this.password = password;

this.email = email;

}

public User( String name, String password) {

super();

this.name = name;

this.password = password;

}

public int getId() {

return id;

}

public void setId(int id) {

this.id = id;

}

public String getName() {

return name;

}

public void setName(String name) {

this.name = name;

}

public String getPassword() {

return password;

}

public void setPassword(String password) {

this.password = password;

}

public String getEmail() {

return email;

}

public void setEmail(String email) {

this.email = email;

}

public String toString(){

return id+":"+name+":"+password+":"+email;

}

}

DAO,用于从本地读取配置文件

接口:

public interface UserDao {

public boolean addUser(User user);

public User getUser(String userName,String password);

}

实现类:

import java.io.BufferedReader;

import java.io.File;

import java.io.FileInputStream;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

public class UserDaoForTextFile implements UserDao{

private File userFile;

public UserDaoForTextFile(){

}

public UserDaoForTextFile(File file){

this.userFile = file;

if(!file.exists()){

try {

file.createNewFile();

} catch (IOException e) {

e.printStackTrace();

}

}

}

public synchronized boolean addUser(User user) {

FileInputStream fis = null;

BufferedReader br = null;

int lastId = 0;

try{

fis = new FileInputStream(userFile);

br = new BufferedReader(new InputStreamReader(fis));

String str = null;

String lastLine = null;

while((str=br.readLine()) != null){

//得到最后一行值

lastLine = str;

if(str.split(":")[1].equals(user.getName())){

return false;

}

}

if(lastLine != null)

lastId = Integer.parseInt(lastLine.split(":")[0]);

}catch(Exception e){

e.printStackTrace();

}finally{

if(br!=null)try{br.close();}catch(IOException e){}

if(fis!=null)try{fis.close();}catch(IOException e){}

}

FileOutputStream fos = null;

PrintWriter pw = null;

try{

fos = new FileOutputStream(userFile,true);

pw = new PrintWriter(fos);

user.setId(lastId+1);

pw.println(user);

pw.flush();

return true;

}catch(Exception e){

e.printStackTrace();

}finally{

if(pw!=null)try{pw.close();}catch(Exception e){}

if(fos!=null)try{fos.close();}catch(IOException e){}

}

return false;

}

public synchronized User getUser(String userName, String password) {

FileInputStream fis = null;

BufferedReader br = null;

String str = null;

User user = null;

try{

fis = new FileInputStream(userFile);

br = new BufferedReader(new InputStreamReader(fis));

while((str = br.readLine()) != null){

String[] s = str.split(":");

if(userName.equals(s[1]) password.equals(s[2])){

user = new User();

user.setId(Integer.parseInt(s[0]));

user.setName(s[1]);

user.setPassword(s[2]);

user.setEmail(s[3]);

}

}

}catch(IOException e){

e.printStackTrace();

}finally{

if(br!=null)try{br.close();}catch(IOException e){}

if(fis!=null)try{fis.close();}catch(IOException e){}

}

return user;

}

}

配置文件格式为:

id流水号:用户名:密码:邮箱

1:yawin:034437:yawin@126.com

2:zhoujg:034437:zhou@126.com

急求一段JAVA代码,有关客户端和服务器的。。。

客户端

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.*;

import java.net.*;

import java.util.logging.Level;

import java.util.logging.Logger;

import javax.swing.*;

/**

*

* @author Administrator

*/

public class Main extends JFrame{

JPanel jp;

JButton jb;

javax.swing.JTextField jt1;

JTextField jt2;

JTextField jt3;

JLabel jl1;

JLabel jl2;

public Main()

{

this.setBounds(150, 50, 300, 100);

jp= new JPanel(new GridLayout(3, 2));

jb=new JButton("登陆");

jt1=new JTextField();

jt2=new JTextField();

jt3=new JTextField();

jt3.setEditable(false);

jl1=new JLabel("用户名");

jl2=new JLabel("密码");

this.getContentPane().add(jp);

jp.add(jl1);

jp.add(jt1);

jp.add(jl2);

jp.add(jt2);

jp.add(jt3);

jp.add(jb);

this.setVisible(true);

jb.addActionListener(new ActionListener() {

public void actionPerformed(ActionEvent e) {

String sentence;

String modifiedSentence = null;

//BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));

Socket clientSocket = null;

try {

clientSocket = new Socket("127.0.0.1", 6789);

} catch (UnknownHostException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

} catch (IOException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

//System.out.println("connection ok");

DataOutputStream outToServer = null;

try {

outToServer = new DataOutputStream(clientSocket.getOutputStream());

} catch (IOException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

BufferedReader inFromServer = null;

try {

inFromServer = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));

} catch (IOException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

sentence=jt1.getText()+" "+jt2.getText();

try {

//System.out.println(sentence);

outToServer.writeBytes(sentence + '\n');

} catch (IOException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

try {

modifiedSentence = inFromServer.readLine();

} catch (IOException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

//System.out.println("FROM SERVER:"+modifiedSentence);

jt3.setText(modifiedSentence);

try {

clientSocket.close();

} catch (IOException ex) {

Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);

}

}

});

}

/**

* @param args the command line arguments

*/

public static void main(String[] args) throws Exception

{

Main m=new Main();

}

}

服务器端

import java.io.*;

import java.net.*;

public class Main {

public static void main(String[] args) throws Exception {

String clientSentence;

String capitalizedSentence;

ServerSocket welcomeSocket=new ServerSocket(6789);

while(true){

Socket connectionSocket=welcomeSocket.accept();

BufferedReader inFromClient=new BufferedReader(new InputStreamReader(connectionSocket.getInputStream()));

DataOutputStream outToClient=new DataOutputStream(connectionSocket.getOutputStream());

clientSentence=inFromClient.readLine();

//capitalizedSentence=clientSentence.toUpperCase()+'\r'+'\n';

//outToClient.writeBytes(capitalizedSentence);

if(clientSentence.equalsIgnoreCase("admin 1234"))

outToClient.writeBytes("ok"+'\n');

else

outToClient.writeBytes("error"+'\n');

}

}

}

怎么用java代码连接到服务器?

用Socket类去连接

String ip = "192.168.0.57";

int port=7000;

InputStream in;

OutputStream out;

Socket sock = null;

try {

sock = new Socket(ip,port);

sock.setSoTimeout(60*1000);//设置超时

this.in = sock.getInputStream();

this.out = sock.getOutputStream();

} catch (Exception e) {

throw new Exception("与终端连接失败!");

}


文章名称:java登陆服务器代码 java代码部署服务器
文章起源:http://csdahua.cn/article/docopoo.html
扫二维码与项目经理沟通

我们在微信上24小时期待你的声音

解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流