日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢(xún)
選擇下列產(chǎn)品馬上在線(xiàn)溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問(wèn)題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷(xiāo)解決方案
登陸服務(wù)器java代碼,登錄注冊(cè)代碼java

怎么用java代碼連接到服務(wù)器

首先就肯定要知道ServerSocket,服務(wù)端的服務(wù)端口以及服務(wù)器的地址。

創(chuàng)新互聯(lián)是一家專(zhuān)業(yè)提供紅山企業(yè)網(wǎng)站建設(shè),專(zhuān)注與做網(wǎng)站、成都網(wǎng)站制作H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為紅山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專(zhuān)業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

然后再用 Socket socket=new Socket(port,address);

最后,如果你需要接收數(shù)據(jù)之類(lèi)的,就用socket.getInputStream(),發(fā)送數(shù)據(jù)用socket.getOutputStream()

登陸界面的java代碼怎么寫(xiě)?

import java.awt.*;

import javax.swing.*;

import java.awt.event.*;

import java.sql.*;

class LoginFrm extends JFrame implements ActionListener

{

JLabel lbl1=new JLabel("用戶(hù)名");

JLabel lbl2=new JLabel("密碼");

JTextField txt=new JTextField(15);

JPasswordField pf=new JPasswordField();

JButton btn1=new JButton("確定");

JButton btn2=new JButton("取消");

public LoginFrm()

{

this.setTitle("登陸");

JPanel jp=(JPanel)this.getContentPane();

jp.setLayout(new GridLayout(3,2,10,10));

jp.add(lbl1);jp.add(txt);

jp.add(lbl2);jp.add(pf);

jp.add(btn1);jp.add(btn2);

btn1.addActionListener(this);

btn2.addActionListener(this);

}

public void actionPerformed(ActionEvent ae)

{

if(ae.getSource()==btn1)

{

try

{

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

Connection con=DriverManager.getConnection("jdbc:odbc:MyDB","","");

Statement cmd=con.createStatement();

ResultSet rs=cmd.executeQuery("select * from loginAndpassword where login='"+txt.getText()+"' and password='"+pf.getText()+"'");

if(rs.next())

{

JOptionPane.showMessageDialog(null,"登陸成功!");

}

else

JOptionPane.showMessageDialog(null,"用戶(hù)名或密碼錯(cuò)誤!");

} catch(Exception ex){}

if(ae.getSource()==btn2)

{

txt.setText("");

pf.setText("");

}

}

}

public static void main(String arg[])

{

JFrame.setDefaultLookAndFeelDecorated(true);

LoginFrm frm=new LoginFrm();

frm.setSize(400,200);

frm.setVisible(true);

}

}

java socket 編程 登錄

給你一個(gè)聊天室的,這個(gè)是客戶(hù)端之間的通信,服務(wù)器負(fù)責(zé)接收和轉(zhuǎn)發(fā),你所要的服務(wù)器與客戶(hù)端對(duì)發(fā),只要給服務(wù)器寫(xiě)個(gè)界面顯示和輸入就行,所有代碼如下:

你測(cè)試的時(shí)候應(yīng)該把所有代碼放在同一個(gè)工程下,因?yàn)榭蛻?hù)端可服務(wù)器共用同一個(gè)POJO,里面有些包的錯(cuò)誤,刪除掉就行了

服務(wù)器代碼,即服務(wù)器入口程序:

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,循環(huán)從輸入流中讀取一行數(shù)據(jù)。

//3,每讀到一行數(shù)據(jù),判斷該行是否是退出命令?

//4,如果是退出命令,則將當(dāng)前socket從集合中刪除,關(guān)閉當(dāng)前socket,并跳出循環(huán)

//5,如果不是退出命令,則將該消model.getCurrentUser().getName()息轉(zhuǎn)發(fā)給所有在線(xiàn)的客戶(hù)端。

// 循環(huán)遍歷allSockets集合,得到每一個(gè)socket的輸出流,向流中寫(xiě)出該消息。

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);

//向其他客戶(hù)端發(fā)送XXX退出的消息

sendMessageToAllClient(str.split(":")[1]+"離開(kāi)聊天室!");

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()+"進(jìn)入聊天室!");

}

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();

}

}

}

客戶(hù)端代碼:

總共4個(gè):

1:入口程序:

public class ChatRoomClient {

private ClientModel model;

public ChatRoomClient(){

// String hostName = JOptionPane.showInputDialog(null,

// "請(qǐng)輸入服務(wù)器主機(jī)名:");

// String portName = JOptionPane

// .showInputDialog(null, "請(qǐng)輸入端口號(hào):");

//固定服務(wù)端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("聊天室客戶(hù)端v1.0");

area=new JTextArea(20,40);

field=new JTextField(25);

button=new JButton("發(fā)送");

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,"確認(rèn)退出聊天室嗎?","確認(rèn)退出",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, "不能發(fā)送空消息!");

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;

}

/**

* 顯示界面的方法,在該方法中調(diào)用addEventHandler()方法給組件添加事件監(jiān)聽(tīng)器

*

*/

public void showMe(){

this.setDefaultCloseOperation(JFrame.DO_NOTHING_ON_CLOSE);

this.setVisible(true);

this.setLocation(300,200);

addEventHandler();

}

/**

* 該方法用于給組件添加事件監(jiān)聽(tīng)

*

*/

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);

}

});

}

/**

* 該內(nèi)部類(lèi)用來(lái)監(jiān)聽(tīng)登錄事件

* @author Administrator

*

*/

class LoginEventListener implements ActionListener{

public void actionPerformed(ActionEvent e) {

//?????登錄的代碼

//1,判斷用戶(hù)名和密碼是否為空

//2,從clientmodel得到輸出流,PrintWriter

//3,發(fā)送登錄請(qǐng)求給服務(wù)器

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

//4,從socket得到對(duì)象輸入流,從流中讀取一個(gè)對(duì)象。

//5,如果讀到的對(duì)象為null,則顯示登錄失敗的消息。

//6,如果讀到的對(duì)象不為空,則轉(zhuǎn)成User對(duì)象,并且將

// clientModel的currentUser對(duì)象設(shè)置為該對(duì)象。

//7,并銷(xiāo)毀當(dāng)前窗口,打開(kāi)主界面窗口。

String userName = userNameField.getText();

char[] c = passwordField.getPassword();

String password = String.valueOf(c);

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

JOptionPane.showMessageDialog(null,"用戶(hù)名不能為空");

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,"用戶(hù)名或密碼錯(cuò)誤,請(qǐng)重新輸入");

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("達(dá)內(nèi)聊天室--用戶(hù)登錄");

}

/**

* 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("用戶(hù)名:");

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("聊天室--用戶(hù)登錄");

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:客戶(hù)端管理socket類(lèi)

import java.io.BufferedReader;

import java.io.IOException;

import java.io.InputStreamReader;

import java.io.PrintWriter;

import java.net.Socket;

/**

* 該類(lèi)定義客戶(hù)端的全局參數(shù),如:Socket,當(dāng)前用戶(hù),流對(duì)象等

*

*/

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類(lèi):

User類(lèi):

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);

}

實(shí)現(xiàn)類(lèi):

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流水號(hào):用戶(hù)名:密碼:郵箱

1:yawin:034437:yawin@126.com

2:zhoujg:034437:zhou@126.com

Java 代碼操作帶SSL的FTP服務(wù)器

參考

client = new FTPSClient(implictSSL);

KeyManagerFactory kmf = KeyManagerFactory.getInstance("X509");

kmf.init(KeyStore.getInstance("BKS"), "wshr.ut".toCharArray());

client.setTrustManager(new X509TrustManager() {

public X509Certificate[] getAcceptedIssuers() { return null; }

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException { }

public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException { }

});

client.setKeyManager(kmf.getKeyManagers()[0]);

client.setNeedClientAuth(false);

client.setUseClientMode(false);

急求一段JAVA代碼,有關(guān)客戶(hù)端和服務(wù)器的。。。

客戶(hù)端

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("用戶(hù)名");

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();

}

}

服務(wù)器端

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');

}

}

}


新聞名稱(chēng):登陸服務(wù)器java代碼,登錄注冊(cè)代碼java
網(wǎng)站地址:http://www.dlmjj.cn/article/heogig.html