您的位置:首页 > 理论基础 > 计算机网络

简单的网络编程--服务器,客户端呼应

2015-11-14 19:55 393 查看
首先是客户端代码
package com.test;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

/**
* 这是一个客户端 可以连接服务端
*
* @author Eiffel
*
*/
public class MyClient1 {

public static void main(String args[]) {
new MyClient1();
}

// 构造方法
public MyClient1() {
try {
// Socket()就是去连接某个服务器端
// 127.0.0.1表示服务器的ip 9999表示端口
Socket s = new Socket("127.0.0.1", 9999);

// 如果s连接成功,就可以发送数据给服务器
// 通过pw,向s写数据,true表示及时刷新
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);

pw.println("你好吗,我是客户端");

// 读取s中传递的数据
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));

String response = br.readLine();
System.out.println("客户端接收到:" + response);
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}


服务器
package com.test1;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

/**
* 这是一个服务器端程序,让它在9999端口监听 可以接收从客户端发来的信息
*
* @author Eiffel
*
*/
public class MyServer1 {

public static void main(String args[]) {
// 启动监听
new MyServer1();
}

// 构造方法
public MyServer1() {

try {
// 首先让服务器处于监听状态
// 在9999号端口监听
ServerSocket ss = new ServerSocket(9999);
System.out.println("正在监听9999端口....");
// 等待某个客户端来连接,该函数会返回一个Socket连接
// 会一直监听,(阻塞态),一直等待到
Socket s = ss.accept();

// 读取s中传递的数据
BufferedReader br = new BufferedReader(new InputStreamReader(
s.getInputStream()));

String info = br.readLine();

System.out.println("服务器接收到的:" + info);

// 通过pw,向s写数据,true表示及时刷新
PrintWriter pw = new PrintWriter(s.getOutputStream(), true);

pw.println("我是服务器,你好");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}

}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: