java网络编程应该怎样在客户端和服务器间实现通信?

java网络编程应该怎样在客户端和服务器间实现通信?,第1张

以前写的,照贴了。。。服务器端:import javaawt;
import javaawteventWindowAdapter;
import javaawteventWindowEvent;
import javaio;
import javanet;/6、 采用UDP协议,编写一个Java网络应用程序,该应用分服务器端程序和客户端程序两部分。
客户端指定一个服务器上的文件名,让服务器发回该文件的内容,或者提示文件不存在。
(20分)(服务端程序和客户端程序分别命名为Serverjava和Clientjava)/
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, buflength);
socketreceive(packet);
file = new File(new String(packetgetData()));
socket = new DatagramSocket();
}
catch (Exception e)
{eprintStackTrace();
}
if(fileexists())
{
try
{
buf = new byte[(int)filelength()];
packet = new DatagramPacket(buf,buflength,InetAddressgetLocalHost(),1234);
input = new FileInputStream(file);
inputread(buf);
socketsend(packet);
}
catch (IOException e)
{
eprintStackTrace();
}
}
else
{
try
{
packet = new DatagramPacket(messagegetBytes(),messagegetBytes()length,
InetAddressgetLocalHost(),1234);
socketsend(packet);
}
catch (Exception e)
{
eprintStackTrace();
}
}
}
public static void main(String[] args)
{
new N4BT6("Server");
}
}
客户端:import javaawt;
import javaawtevent;
import javanetDatagramPacket;
import javanetDatagramSocket;
import javanetInetAddress;public class N4BT6_2 extends Frame
{
TextArea text;
String message = "Qtxt";
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(messagegetBytes(),messagegetBytes()length,
InetAddressgetLocalHost(),1230);
socketsend(packet);
}
catch (Exception e)
{
eprintStackTrace();
}
try
{
buf = new byte[1024];
socket = new DatagramSocket(1234);
packet = new DatagramPacket(buf,buflength);
socketreceive(packet);
textappend(new String(buf));
}
catch (Exception e)
{
eprintStackTrace();
}
}
public static void main(String[] args)
{
new N4BT6_2("Client");
}
}

没有描述清楚。按照字面理解,服务端根据客户端发送的信息判断是否发送文件是吗?服务器端根据客户端请求的信息,如果要返回文件,服务器端读取文件向客户端写文件,比如读取文件向客户端写字节流。客户端肯定是不能直接访问服务器端文件的。如果文件是放在可以公开访问的地址,返回地址,客户端下载就是了。所以你的问题没有描述清楚。

路径就是如:“/user/etc”。

解释:服务器的路径展现形式不是以盘符开始的,而是以“/”开始,之后的路径和windows系统无任何区别,如上面举例的路径,如果想从etc下拿文件,直接“cd  /user/etc”之后找到想要的文件,进行下载即可。

网络游戏引擎目前大多数还是采用C++做的,相比于Java速度要快很多,健壮性也不比Java的差,唯一无法相比的就是可移植性了,但一个游戏引擎所在的平台是固定的,又不需要跨平台,所以就没有必要使用Java了。

Android应用的服务器端是可以用C#写的:
1、C#是微软公司发布的一种面向对象的、运行于NET Framework之上的高级程序设计语言。并定于在微软职业开发者论坛(PDC)上登台亮相。C#是微软公司研究员Anders Hejlsberg的最新成果。C#看起来与Java有着惊人的相似;它包括了诸如单一继承、接口、与Java几乎同样的语法和编译成中间代码再运行的过程。但是C#与Java有着明显的不同,它借鉴了Delphi的一个特点,与COM(组件对象模型)是直接集成的,而且它是微软公司 NET windows网络框架的主角。
2、C#是一种安全的、稳定的、简单的、优雅的,由C和C++衍生出来的面向对象的编程语言。它在继承C和C++强大功能的同时去掉了一些它们的复杂特性(例如没有宏以及不允许多重继承)。C#综合了VB简单的可视化 *** 作和C++的高运行效率,以其强大的 *** 作能力、优雅的语法风格、创新的语言特性和便捷的面向组件编程的支持成为NET开发的首选语言。
3、C#是面向对象的编程语言。它使得程序员可以快速地编写各种基于MICROSOFT NET平台的应用程序,MICROSOFT NET提供了一系列的工具和服务来最大程度地开发利用计算与通讯领域。
4、C#使得C++程序员可以高效的开发程序,且因可调用由 C/C++ 编写的本机原生函数,因此绝不损失C/C++原有的强大的功能。因为这种继承关系,C#与C/C++具有极大的相似性,熟悉类似语言的开发者可以很快的转向C#。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/12742876.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存