當前位置:首頁 » 編程語言 » java伺服器通信

java伺服器通信

發布時間: 2023-02-15 14:40:32

java網路編程應該怎樣在客戶端和伺服器間實現通信

以前寫的,照貼了。。。伺服器端:import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.*;
import java.net.*;/*6、 採用UDP協議,編寫一個Java網路應用程序,該應用分伺服器端程序和客戶端程序兩部分。
* 客戶端指定一個伺服器上的文件名,讓伺服器發回該文件的內容,或者提示文件不存在。
* (20分)(服務端程序和客戶端程序分別命名為Server.java和Client.java)*/
public class N4BT6 extends Frame
{
DatagramSocket socket ;
DatagramPacket packet ;byte[] buf ;
File file ;
FileInputStream input;
String message = "該文件不存在";
TextArea text;
public N4BT6(String title)
{
super(title);
text = new TextArea(6,4);
add(text);
setSize(400, 300);
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});

buf = new byte[1024];
try
{
socket = new DatagramSocket(1230);
packet = new DatagramPacket(buf, buf.length);
socket.receive(packet);
file = new File(new String(packet.getData()));
socket = new DatagramSocket();
}
catch (Exception e)
{e.printStackTrace();
}

if(file.exists())
{
try
{
buf = new byte[(int)file.length()];
packet = new DatagramPacket(buf,buf.length,InetAddress.getLocalHost(),1234);
input = new FileInputStream(file);
input.read(buf);
socket.send(packet);
}
catch (IOException e)
{
e.printStackTrace();
}
}
else
{
try
{
packet = new DatagramPacket(message.getBytes(),message.getBytes().length,
InetAddress.getLocalHost(),1234);
socket.send(packet);
}
catch (Exception e)
{
e.printStackTrace();
}
}

}
public static void main(String[] args)
{
new N4BT6("Server");
}
}
客戶端:import java.awt.*;
import java.awt.event.*;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;public class N4BT6_2 extends Frame
{
TextArea text;
String message = "Q.txt";
DatagramSocket socket ;
DatagramPacket packet;
byte[] buf;
public N4BT6_2(String title)
{
super(title);
text = new TextArea(6,4);
add(text);
setSize(400, 300);
setVisible(true);
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
dispose();
}
});
try
{

socket = new DatagramSocket();
packet = new DatagramPacket(message.getBytes(),message.getBytes().length,
InetAddress.getLocalHost(),1230);
socket.send(packet);
}
catch (Exception e)
{
e.printStackTrace();
}

try
{
buf = new byte[1024];
socket = new DatagramSocket(1234);
packet = new DatagramPacket(buf,buf.length);
socket.receive(packet);
text.append(new String(buf));
}
catch (Exception e)
{
e.printStackTrace();
}
}
public static void main(String[] args)
{
new N4BT6_2("Client");
}
}

② 編寫java程序實現客戶端和服務端的通信

沒錯啊,編譯和運行都很正常。
你到底要實現什麼功能?

客戶端把「請求連接」轉換成byte發給伺服器,伺服器顯示列印
伺服器把「連接成功」轉換成byte發給客戶端,客戶端顯示列印,

語法一點也沒錯啊。

string.getbyte()返回的是一個byte類型的數組,你直接列印列印的是數組的地址

③ 在java網路編程中,客戶端/伺服器怎麼實現不同電腦之間的通信

1、首先兩台電腦和伺服器都在同一個網路中
2、相互之間可以用sokect<--->server
相互進行通信

熱點內容
易享伺服器地址 發布:2024-11-08 15:55:59 瀏覽:752
愛奇藝的密碼哪裡看 發布:2024-11-08 15:52:45 瀏覽:533
安卓10和平板哪個更流暢 發布:2024-11-08 15:51:18 瀏覽:75
配置低也能玩的槍戰游戲有哪些 發布:2024-11-08 15:41:59 瀏覽:169
python中文匹配 發布:2024-11-08 15:41:06 瀏覽:400
通分新演算法 發布:2024-11-08 15:37:01 瀏覽:370
安卓多樂夠級為什麼沒有捕魚 發布:2024-11-08 15:32:27 瀏覽:657
高級資料庫系統 發布:2024-11-08 15:32:14 瀏覽:540
adovc資料庫 發布:2024-11-08 15:32:11 瀏覽:541
winclient怎麼配置ip 發布:2024-11-08 15:23:53 瀏覽:482