当前位置:首页 » 编程语言 » 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 14:06:54 浏览:371
低频访问存储 发布:2024-11-08 14:05:31 浏览:679
html5坦克大战源码 发布:2024-11-08 14:04:35 浏览:406
输错密码锁定什么意思 发布:2024-11-08 14:02:07 浏览:541
存储计算逻辑 发布:2024-11-08 13:49:35 浏览:543
java算法排序算法 发布:2024-11-08 13:42:20 浏览:883
u盘随身系统linux 发布:2024-11-08 13:34:34 浏览:411
b1422压缩机锁定 发布:2024-11-08 13:32:43 浏览:635
上传按钮图片 发布:2024-11-08 13:30:57 浏览:920
安卓手机相机如何拍摄短视频 发布:2024-11-08 13:28:42 浏览:411