導航:首頁 > 編程語言 > java服務端代碼

java服務端代碼

發布時間:2022-04-27 04:09:39

1. 求實現基於java Socket網路通信的客戶端和伺服器端的源代碼。

伺服器端Server.java: import java.io.*;import java.net.*; public class Server{ publicstatic void main(String[] args) { try{ ServerSocket s = newServerSocket(9000); while (true) { Socket incoming =s.accept(); try { FileInputStreamfstream = new FileInputStream("Server.java"); //假設輸入文件為Server.java DataInputStream in =new DataInputStream(fstream); BufferedReaderbr = new BufferedReader(new InputStreamReader(in)); OutputStreamostream = incoming.getOutputStream(); PrintWriterout = new PrintWriter(ostream, true); String strLine; while ((strLine =br.readLine()) != null) { out.println(strLine); } in.close(); } finally { incoming.close(); } } }catch (Exception e){ e.printStackTrace(); } }} 客戶端Client.java: import java.io.*;import java.net.*;import java.util.*; public class Client{ publicstatic void main(String[] args) { try { Sockets = new Socket("localhost", 9000); try { InputStreaminStream = s.getInputStream(); Scannerin = new Scanner(inStream); PrintWriter out = newPrintWriter("test.txt");//假設輸出文件為test.txt while(in.hasNextLine()) { Stringline = in.nextLine(); System.out.println(line); out.println(line); } out.close(); } finally { s.close(); } } catch(IOException e) { e.printStackTrace(); } }}

2. java 伺服器代碼倒出來,就是源碼

是的。因為源代碼,gitlab上下載的代碼,後綴名是java的就是源代碼,可以用IDEA打開查看,查看某個方法可以實現跳轉。所以java伺服器代碼倒出來,就是源碼。

3. 編寫代碼,使用java ServerSocket創建伺服器端ServerSocket的過程。

packagesocket;

importjava.io.BufferedReader;
importjava.io.IOException;
importjava.io.InputStreamReader;
importjava.io.PrintWriter;
importjava.net.ServerSocket;
importjava.net.Socket;

publicclassSocketService{
//搭建伺服器
publicstaticvoidmain(String[]args)throwsIOException{
SocketServicesocketService=newSocketService();
//1、a)創建一個伺服器端Socket,即SocketService
socketService.oneServer();
}
publicvoidoneServer(){
try{
ServerSocketserver=null;
try{
server=newServerSocket(5209);
//b)指定綁定的埠,並監聽此埠。
System.out.println("伺服器啟動成功");
//創建一個ServerSocket在埠5209監聽客戶請求
}catch(Exceptione){
System.out.println("沒有啟動監聽:"+e);
//出錯,列印出錯信息
}
Socketsocket=null;
try{
socket=server.accept();
//2、調用accept()方法開始監聽,等待客戶端的連接
//使用accept()阻塞等待客戶請求,有客戶
//請求到來則產生一個Socket對象,並繼續執行
}catch(Exceptione){
System.out.println("Error."+e);
//出錯,列印出錯信息
}
//3、獲取輸入流,並讀取客戶端信息
Stringline;
BufferedReaderin=newBufferedReader(newInputStreamReader(socket.getInputStream()));
//由Socket對象得到輸入流,並構造相應的BufferedReader對象
PrintWriterwriter=newPrintWriter(socket.getOutputStream());
//由Socket對象得到輸出流,並構造PrintWriter對象
BufferedReaderbr=newBufferedReader(newInputStreamReader(System.in));
//由系統標准輸入設備構造BufferedReader對象
System.out.println("Client:"+in.readLine());
//在標准輸出上列印從客戶端讀入的字元串
line=br.readLine();
//從標准輸入讀入一字元串
//4、獲取輸出流,響應客戶端的請求
while(!line.equals("end")){
//如果該字元串為"bye",則停止循環
writer.println(line);
//向客戶端輸出該字元串
writer.flush();
//刷新輸出流,使Client馬上收到該字元串
System.out.println("Server:"+line);
//在系統標准輸出上列印讀入的字元串
System.out.println("Client:"+in.readLine());
//從Client讀入一字元串,並列印到標准輸出上
line=br.readLine();
//從系統標准輸入讀入一字元串
}//繼續循環

//5、關閉資源
writer.close();//關閉Socket輸出流
in.close();//關閉Socket輸入流
socket.close();//關閉Socket
server.close();//關閉ServerSocket
}catch(Exceptione){//出錯,列印出錯信息
System.out.println("Error."+e);
}
}
}

4. JAVA 聊天室伺服器端和客戶端完整代碼

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.net.*;
import java.util.*;
import java.io.*;

public class Server extends JFrame
{
JMenuBar mb = new JMenuBar();
JMenu m1 = new JMenu("文件");
JMenu m2 = new JMenu("幫助");
JMenuItem mi1 = new JMenuItem("連接");
JMenuItem mi2 = new JMenuItem("退出");
JLabel lab1 = new JLabel("用戶在線列表");
JLabel lab2 = new JLabel("消息:");
JTextArea ta = new JTextArea(9,30);
java.awt.List list = new java.awt.List(9);
JTextField tf = new JTextField(24);
JButton b = new JButton("發送");
JScrollPane sp = new JScrollPane();
JPanel p1 = new JPanel();
JPanel p2 = new JPanel();
JPanel p3 = new JPanel();

ServerSocket serverSocket;
Socket socket;
ArrayList array = new ArrayList();
int connect;

public Server()
{
super("聊天伺服器");
setJMenuBar(mb);
mb.add(m1);
mb.add(m2);
m1.add(mi1);
m1.addSeparator();
m1.add(mi2);
sp.getViewport().add(ta);
p1.setLayout(new BorderLayout());
p3.add(lab1);
p1.add(p3,BorderLayout.NORTH);
p1.add(list,BorderLayout.SOUTH);
p2.add(lab2);
p2.add(tf);
p2.add(b);
getContentPane().add(sp,BorderLayout.NORTH);
getContentPane().add(p1,BorderLayout.CENTER);
getContentPane().add(p2,BorderLayout.SOUTH);
pack();
//伺服器端界面居中顯示
Dimension screenSize = Toolkit.getDefaultToolkit().getScreenSize();
Dimension frameSize = this.getSize();
if(frameSize.width > screenSize.width)
{
frameSize.width = screenSize.width;
}
if(frameSize.height > screenSize.height)
{
frameSize.height = screenSize.height;
}
setLocation((screenSize.width - frameSize.width)/2,
(screenSize.height - frameSize.height)/2);
setSize(400,430);
setVisible(true);
setResizable(false);

mi1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
if(serverSocket == null)
{
try
{
serverSocket = new ServerSocket(7000);
ta.append("系統提示:"+" 聊天伺服器"
+" 正在啟動......\n");
}
catch(IOException ex)
{
ta.append("系統提示:"+" 聊天伺服器"
+" 啟動失敗!\n");
}
}
else
{
ta.append("系統消息:"+" 聊天伺服器"
+" 已經啟動......\n");
}
//啟動監聽客戶端連接線程
Thread t = new Watch();
t.start();
}
});
mi2.addActionListener(new ServerListener());
b.addActionListener(new ServerListener());
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
closeAll();
System.exit(0);
}
});
}

class Watch extends Thread
{
public void run()
{
while(true)
{
if(array.size() <= 10)
{
try
{
socket = serverSocket.accept();
}
catch(IOException ex)
{
ta.append("系統消息: "+ex+"\n");
}
//創建客戶端線程,一個線程對應一個客戶端
Client c = new Client(socket);
array.add(c);
c.start();
}
else
{
ta.append("系統消息:"+" 聊天伺服器"
+" 已經超過最大連接數,請待會連接!\n");
}
}
}
}

class Client extends Thread
{
String name;
String ip;
String ipAddress;
Socket socket;
BufferedReader br;
PrintStream ps;

public Client(Socket s)
{
try
{
socket = s;
br = new BufferedReader(new InputStreamReader(s.getInputStream()));
ps = new PrintStream(s.getOutputStream());
}
catch (IOException ex)
{
ta.append("系統消息: "+ex+"\n");
}
}

public void run()
{
String info;
try
{
while(true)
{
info = br.readLine();
if(info == null)
break;
StringTokenizer st = new StringTokenizer(info, ":");
String keyword = st.nextToken();

//處理客戶端傳來的信息
if (keyword.equals("CONNECT"))
{
name = st.nextToken();
ip = st.nextToken();
ipAddress = ip.substring(ip.indexOf("/")+1);
ta.append("系統消息: " + name + "/"
+ ipAddress +" 已經連接\n");
list.add(name + " " + ip
+" 已經登錄");
notifyChatRoom();
}
else if (keyword.equals("MSG"))
{
String broadcast = st.nextToken();
StringBuffer message = new StringBuffer("MSG:" +broadcast);
message.append(st.nextToken("\0"));
if (broadcast.equals("BROAD"))
{

5. axis2 wsdl2java 生成服務端代碼怎麼去實現

wsdl通常是由介面提供商生成的,也就是說服務端代碼在提供商那。 自己通過wsdl2java命令可生成服務端與客戶端的代碼,但是服務端中的代碼只包含介面定義,沒有代碼實現.測試的時候可以自己實現,只需要保證數據能正確傳輸就行了。

6. 關於java,soap伺服器端的代碼怎麼寫

<soapenv:Header/>
<soapenv:Body>
<api:getEmp>
<shopId>string</shopId>
</api:getEmp>
</soapenv:Body>
</soapenv:Envelope>
這個時SOAP協議的標准報文格式,客戶端只要發送這樣的報文給支持SOAP協議的webservice伺服器即可成功調用web service服務
服務端:部署服務只需要自己定義服務的介面和實現類,並用@webservice註解,通過endPoint類直接發布即可

7. 急求一段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');

}
}
}

8. java socket 我想要一段服務端的代碼!最好注釋完整一點的 。

ServerSocket ss = null;
Socket you = null;
String s = null;
DataOutputStream out = null;
DataInputStream in = null;
try {
ss = new ServerSocket(4333);
} catch (Exception e) {
e.printStackTrace();
}
try {
System.out.println("等到客戶呼叫:");
you = ss.accept();// 堵塞狀態,除非有客戶呼叫
out = new DataOutputStream(you.getOutputStream());//連接建立之後才能得到輸入輸出流!
in = new DataInputStream(you.getInputStream());
while (true) {
s = in.readUTF();// in讀取客戶放入「線路」的信息,堵塞狀態
System.out.println("伺服器收到:" + s);

int m = Integer.parseInt(s);
out.writeUTF("你好,我是伺服器:");
out.writeUTF("你的數乘以2之後是:" + 2 * m);
Thread.sleep(500);
}
} catch (Exception sss) {
System.out.println("客戶已斷開");
} finally {
try {
in.close();
out.close();
ss.close();
you.close();
} catch (Exception e) {
e.printStackTrace();
}
}

9. 怎樣用JAVA代碼實現一個REST服務端

REST是http一個介面的規范,你只要對你JAVA實現的http介面,遵循REST規范就可以了
具體規范大致是get請求表示查詢數據 ,POST請求表示對數據賦值,也就是新增或者更新數據,DELETE 請求就是刪除數據。
其中java實現http介面,有很多種方式,你可以用傳統的servlet,或者spring框架來做,都可以

10. 用java代碼實現客戶端與服務端建立連接

套接字 Socket

import java.net.*;

Server:
ServerSocket server=new ServerSocket(port);//port是埠
Socket socket=server.accept();
//等待客戶機的連接請求,若連接,則創建一套接字,並將返回。

Client:
Socket socket=new Socket("host",port);//host主機名(本機:127.0.0.1)

閱讀全文

與java服務端代碼相關的資料

熱點內容
壓縮機異音影響製冷嗎 瀏覽:711
德斯蘭壓縮機 瀏覽:490
程序員太極拳視頻 瀏覽:531
網上購買加密鎖 瀏覽:825
安卓為什麼軟體要隱私 瀏覽:83
虛擬主機管理源碼 瀏覽:811
java圖形圖像 瀏覽:230
單片機輸出口電平 瀏覽:486
java配置資料庫連接 瀏覽:479
java多態的體現 瀏覽:554
java的split分隔符 瀏覽:128
跪著敲代碼的程序員 瀏覽:238
web和php有什麼區別 瀏覽:120
加密的電梯卡怎麼復制蘋果手機 瀏覽:218
warez壓縮 瀏覽:137
黑馬程序員培訓機構官網天津 瀏覽:904
mainjavasrc 瀏覽:58
如何買伺服器挖礦 瀏覽:292
php批量上傳文件夾 瀏覽:560
安卓固件怎麼更新 瀏覽:169