简单的网络编程--服务器,客户端呼应
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(); } } }
相关文章推荐
- Tinyhttpd源码剖析(一)
- CentOS7 最小化安装后,安装配置并启动httpd的步骤
- Ubuntu 桌面设置之网络环境的设置
- Ubuntu通过修改配置文件进行网络配置
- android 获取手机上面的IMSI序列号,IMEI,MAC地址,IP地址,当前时间,当前经纬度,获取网络类型
- java快速教程-http://www.cnblogs.com/vamei/archive/2013/03/31/2991531.html
- 黑马程序员——网络编程(一)
- 映射网络盘
- Http些许己见
- 网络设备将网口切换到业务板以后为什么会报各种不正确的信息?
- Android网络优化2--HttpClinet
- cenos7.1 安装openstack kilo 心得之三添加网络时间协议
- Android网络优化1--Native Socket
- Xcode7,http请求时,连不上网,怎么办
- http协议学习 记录
- 【HTTP协议系列4】服务器日志之X_Forwarded_For
- 网络加载完,想要获取图片的宽,效果瀑布流
- Socket连接与HTTP连接
- 网络获取加载图片的三种方法
- Volley网络请求源码分析