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

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

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

如果只是两个客户端和一个服务器,可通过服务器转发即可,两个客户端连接到服务器,服务器把从A接收到的发给B,把从B接收到的发给A即可,如果要做成多个客户端的,则要给各个客户端分配ID,服务端好根据各个客户端和消息要转发送给客户端的ID来确定消息发送对象。

客户端程序和服务器之间通信用这是网络传输层的问题,在传输层上主要就是两种数据包,即为TCP(可靠连接)、UDP(不可靠连接),这个其实与你想要做的服务器和程序设计没有大的关系,不知道你要搭建什么服务器,是windows还是linux 服务器,在windows下面一般是ASPnet +SQL server (很多人现在也在windows下做apacha+php+mysql); 在linux下面是apacha+php+mysql;网站使用的是HTTP协议来实现网站的建设

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » java网络编程应该怎样在客户端和服务器间实现通信?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情