无法在服务器端检索密码 [英] Not Able to retrive password at server side
本文介绍了无法在服务器端检索密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
大家好,
我正在用具有GUI的客户端用Java编写客户端服务器程序,我想在建立连接后立即向服务器发送用户名,电子邮件ID和密码.我可以发送电子邮件和用户名,但我不知道为什么密码不会发送到用户端.请帮助我解决此问题,请在这里找到我的代码
Hi All,
I am Writing a client server program in java with my client having GUI, i want to send username, email id and password to server as soon as connection is established. I am Able to send email and username but i dont know why password is not going to user side. Please hepl me resolving this please find my code here
CLIENT SIDE
import java.net.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.io.*;
public class Clientside extends JFrame implements ActionListener {
private JLabel user,mail;
private JTextField usernameinput,emailinput;
private JPanel username,email,buttonp;
private JButton connect,terminate;
private JTextArea result;
private static Socket socket=null;
public static void main(String[] args) {
Clientside Frame = new Clientside();
Frame.setSize(600, 600);
Frame.setVisible(true);
Frame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent event)
{
//Check whether a socket is open...
if (socket != null)
{
try
{
socket.close();
}
catch (IOException ioEx)
{
System.out.println(
"\nUnable to close link!\n");
System.exit(1);
}
}
System.exit(0);
}
}
);
// TODO Auto-generated method stub
}
public Clientside()
{
username= new JPanel();
user = new JLabel("username");
usernameinput= new JTextField("",18);
username.add(user);
username.add(usernameinput);
add(username,BorderLayout.NORTH);
mail= new JLabel("mail");
emailinput=new JTextField("",18);
username.add(mail);
username.add(emailinput);
add(username,BorderLayout.NORTH);
buttonp= new JPanel();
connect= new JButton("Connect To Server");
connect.addActionListener(this);
buttonp.add(connect);
terminate=new JButton("Terminate the connection");
terminate.addActionListener(this);
buttonp.add(terminate);
add(buttonp,BorderLayout.SOUTH);
result= new JTextArea(10,10);
add(result,BorderLayout.CENTER);
}
public void actionPerformed(ActionEvent event)
{
if(event.getSource()==terminate)
{
System.exit(0);
result.setText("");
}
if(event.getSource()==connect)
{
String ALPHA_NUM = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ!@#$%^&*()_+";
StringBuffer sb = new StringBuffer(6);
for (int i=0; i<6; i++) {
int ndx = (int)(Math.random()*ALPHA_NUM.length());
sb.append(ALPHA_NUM.charAt(ndx));
}
String Password= sb.toString();
int port= 2828;
String address="127.0.0.1";
try{
InetAddress ipAddress= InetAddress.getByName(address);
result.append("Any one with ip"+ ipAddress +"port no. "+ port);
socket= new Socket(ipAddress,port);
BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));
String s=usernameinput.getText();
bw.write(s);
bw.flush();
String s1=emailinput.getText();
bw.write(s1+"\n");
bw.flush();
bw.write(Password);
bw.flush();
socket.close();
}
catch(UnknownHostException uhEx)
{
result.append("No Host find ");
}
catch(IOException Ioe)
{
result.append(Ioe.toString()+"\n");
}
finally{
if(socket!=null)
try{
socket.close();
}catch (IOException ioe)
{
System.out.println("unable to disconnect");
System.exit(1);
}
}
}
}
}
SERVER SIDE
import java.io.*;
import java.net.*;
import java.util.*;
public class Severside {
public static void main(String[] args) {
ServerSocket server;
final int port=2828;
Socket socket;
try{
String j;
server= new ServerSocket(port);
do
{
socket= server.accept();
;
BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
String b=br.readLine();
System.out.println(b);
socket.close();
}while(true);
}
catch(IOException IOEX)
{
System.out.println(IOEX);
}
}
}
输出-xyz abc@yahoomail.com
OUTPUT - xyz abc@yahoomail.com
推荐答案
%^& *()_ +"; StringBuffer sb = 新 StringBuffer( 6 ); for ( int i = 0; i< 6; i ++){ int ndx =( int )(Math.random()* ALPHA_NUM.length()); sb.append(ALPHA_NUM.charAt(ndx)); } 字符串密码= sb.toString(); int port = 2828 ; 字符串 address = " ; 尝试 { InetAddress ipAddress = InetAddress.getByName(address); result.append(" + ipAddress + " +端口); socket = 新 Socket(ipAddress,port); BufferedWriter bw = 新 BufferedWriter(新 OutputStreamWriter(socket.getOutputStream())); 字符串 s = usernameinput.getText(); bw.write(s); bw.flush(); 字符串 s1 = emailinput.getText(); bw.write(s1 + " ); bw.flush(); bw.write(密码); bw.flush(); socket.close(); } 捕获(UnknownHostException uhEx) { result.append(" ); } 捕获(IOException Ioe) { result.append(Ioe.toString()+ " ); } 最终 { 如果(socket!= null) 尝试 { socket.close(); } 捕获(IOException ioe) { System.out.println(" ); System.exit( 1 ); } } } } } 服务器端 导入 java.io. *; 导入 java.net.*; 导入 java.util.*; 公共 类 Severside { 公共 静态 void main(字符串 [] args){ ServerSocket服务器; 最终 int port = 2828; 插座; 尝试 { 字符串 j; server = 新 ServerSocket(端口); 做 { socket = server.accept(); ; BufferedReader br = new BufferedReader(新 InputStreamReader(socket.getInputStream())); 字符串 b = br.readLine(); System.out.println(b); socket.close(); } while (true); } 捕获(IOException IOEX) { System.out.println(IOEX); } } }
%^&*()_+"; StringBuffer sb = new StringBuffer(6); for (int i=0; i<6; i++) { int ndx = (int)(Math.random()*ALPHA_NUM.length()); sb.append(ALPHA_NUM.charAt(ndx)); } String Password= sb.toString(); int port= 2828; String address="127.0.0.1"; try{ InetAddress ipAddress= InetAddress.getByName(address); result.append("Any one with ip"+ ipAddress +"port no. "+ port); socket= new Socket(ipAddress,port); BufferedWriter bw= new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())); String s=usernameinput.getText(); bw.write(s); bw.flush(); String s1=emailinput.getText(); bw.write(s1+"\n"); bw.flush(); bw.write(Password); bw.flush(); socket.close(); } catch(UnknownHostException uhEx) { result.append("No Host find "); } catch(IOException Ioe) { result.append(Ioe.toString()+"\n"); } finally{ if(socket!=null) try{ socket.close(); }catch (IOException ioe) { System.out.println("unable to disconnect"); System.exit(1); } } } } } SERVER SIDE import java.io.*; import java.net.*; import java.util.*; public class Severside { public static void main(String[] args) { ServerSocket server; final int port=2828; Socket socket; try{ String j; server= new ServerSocket(port); do { socket= server.accept(); ; BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream())); String b=br.readLine(); System.out.println(b); socket.close(); }while(true); } catch(IOException IOEX) { System.out.println(IOEX); } } }
输出-xyz abc@yahoomail.com
OUTPUT - xyz abc@yahoomail.com
尝试阅读.
您将用户ID和电子邮件写入缓冲区,然后输入换行和密码.
在服务器上,您只读了一行.
写一行或读两行.
简单.
Try reading it.
You write the userid and email to the buffer then a new line followed by the password.
On the server you read a single line.
Either write a single line, or read both lines.
Simples.
这篇关于无法在服务器端检索密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文