linux写java程序代码,虚拟机centos中java代码实现linux(作为服务端),windows(作为客户端)通信...

目的:在windows下编写一个java客户端程序和一个java服务端程序,在windows中运行客户端程序,linux中运行服务端程序,实现客户端(windows下)和服务端(linux下)通信,即实现互发信息

步骤:

1. 实现windows能够连接到虚拟机linux,即确保ping通虚拟机linux(我的虚拟机IP为192.168.0.100);

2. 编写客户端程序和服务端程序,代码如下:

客户端:

import java.io.*;

import java.net.*;

public class MyClient

{

public static void main(String[] args)

{

try

{

//连接ip:port

Socket s = new Socket( "192.168.0.100", 8880 );

String sendMsg = "";

while(true)

{

// 通过文件流发送消息

OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream());

BufferedWriter bu = new BufferedWriter(osw);

PrintWriter pw = new PrintWriter( bu, true );

// 发送

System.out.print("input your message to send:");

BufferedReader buf = new BufferedReader (new InputStreamReader(System.in));

sendMsg = buf.readLine();

pw.println(sendMsg);

// 读取从服务器回送的信息

InputStreamReader isr = new InputStreamReader(s.getInputStream());

BufferedReader br = new BufferedReader(isr);

String response = br.readLine();

System.out.println( "server response is :" + response );

}

} catch (Exception e)

{

e.printStackTrace();

}

return;

}

}

服务端

import java.io.*;

import java.net.*;

// 服务端

public class MyServerTest

{

public static void main(String[] args)

{

try

{

// 创建ServerSocket

ServerSocket ss = new ServerSocket(8880);

System.out.println("i am listening port:8880...");

// 监听,直到某个客户端来连接,一旦连接成功

// 就会得到一个socket(好像是一个数据管道)

Socket s = ss.accept(); // 若没有客户端来连接就会阻塞,一旦有来连接就会返回,注意该行代码不能放在while循环中 //,否则只能进行一次通信

while(true)

{

// 可以读取从客户端发送的信息

InputStreamReader isr = new InputStreamReader(s.getInputStream());

BufferedReader br = new BufferedReader(isr);

String msg = br.readLine();

System.out.println( "client send:::" + msg );

// 从服务器端回一个消息

OutputStreamWriter osw = new OutputStreamWriter(s.getOutputStream());

PrintWriter pw = new PrintWriter( osw, true );

pw.println( "i get your message: " + msg );

}

} catch (Exception e)

{

e.printStackTrace();

}

}

}

3. 在虚拟机centos中编译并启动服务程序,出现:i am listening port:8880...表示成功启动,

在windows下的Eclipse中运行客户端程序,即可进行通信了,结果如下:

客户端输出结果:

input your message to send:hello server

server response is :i get your message: hello server

input your message to send:how are you server

server response is :i get your message: how are you server

input your message to send:are you foolish boy server

server response is :i get your message: are you foolish boy server

input your message to send:

服务端输出结果:

client send:::hello server

client send:::how are you server

client send:::are you foolish boy server

6. 其他相关网址:

http://www.cnblogs.com/mengdd/archive/2013/03/10/2952616.html

http://blog.csdn.net/yuebinghaoyuan/article/details/8503955

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值