本篇内容主要讲解“Java远程配置的服务器调试与管理方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java远程配置的服务器调试与管理方法是什么”吧!
1,Socket ,ServerSocket:
Socket 位于java.net.包中,这是一个对于网络通信来说及其重要的类,无论是那种语言,都会有Socket类的定应用或许,存在的差异也仅仅是在表示和组织上有所不同,Socket中文称它为套接字,javaAPI中可以查看相应的介绍 一个ServerSocket构造一对通信套接字方法如下
ServerSocket sr=new ServerSocket(port); Socket sc=new Socket("ip",port);
其中ServerSocket 的accpet方法十分重要,当一个服务套接字建立之后它一直阻塞等待一个套接字的请求,直到建立连接。
部分计算机网络的书籍对套接字有这样的定义 套接字 =ip+port;一个套接字是由一个由一个ip地址和一个端口组成的,在网络通信中的底层实现也的确如此,要一个进程通信就必须为之制定工作端口,在连接端口之后才能在该端口上通信.
2, InputStream , OutputStream
当一个套接字连接成功后就可以获得基于这个套接字的输入输出流,一切数据的发送和接受都离不开输出输入流,我们可以通过流封装的方法选择你要输入或者输出的数据类型,
请看如下例子:
这是一个完整服务器端的例子请仔细阅读注释
//Server.java
import java.net.*;
import java.io.*;
public class Server {
public static void main(String args[])
{
ServerSocket server=null;//定义服务套接字
Socket you=null;
String s=null;
DataOutputStream out=null;//定义流
DataInputStream in=null;
try{
server=new ServerSocket(4331);
}catch(Exception e){System.out.println(e.getMessage());}
//捕捉异常
try{
System.out.println("wait.....");
you=server.accept();//在这里阻塞等待客户的介入
out=new DataOutputStream(you.getOutputStream());//取得输出流
in=new DataInputStream(you.getInputStream());//取得输出流
while(true)//循环读
{
s=in.readUTF();
int m=Integer.parseInt(s);
out.writeUTF("Hello i am server!");//发送信息
out.writeUTF("X 2:"+s);
System.out.println("Server receive :"+s);
Thread.sleep(300);//f防止组赛,没有这一个语句或占用很多cpu和内存
}
}catch(Exception e){System.out.println("Client leave!");}
}
}
上面是一个简单的服务器端程序 显示了如何实现套接字的服务器构建,下面是一个Java远程配置的客户端
import java.io.*;
import java.net.*;
public class Client {
public static void main(String args[])
{
String s=null;
Socket mysocket;//创建客户端套接字
DataInputStream in=null;
DataOutputStream out=null;
try{
mysocket=new Socket("127.0.0.1",4331);/
*注意实例化的构造方法与服务器有什么不同*/
System.out.println("localport:"+mysocket.getLocalPort());
System.out.println("localAddress:"+mysocket.
getLocalAddress());
System.out.println("localSocketAddress:"+mysocket.
getLocalSocketAddress());
System.out.println("Chanel:"+mysocket.getChannel());
// 上面的代码显示具体的通信地址端口
in=new DataInputStream(mysocket.getInputStream());
out=new DataOutputStream(mysocket.getOutputStream());
for(int k=1;k<100;kk=k+2)//循环写入内容
{
out.writeUTF(""+k);
s=in.readUTF();
System.out.println("客户端接受的数据!:"+s);
Thread.sleep(500);
}
}catch(Exception e){
System.out.println(e.getMessage());
}
}
}
到此,相信大家对“Java远程配置的服务器调试与管理方法是什么”有了更深的了解,不妨来实际操作一番吧!这里是编程网网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!