[java]网络编程(Socket编程、套接字编程)
2012-08-20 01:50
381 查看
Socket类----实现客户端套接字
----套接字是两台机器间通信的端点,用于描述IP地址和端口,应用程序通常通过“套接字”向网络发送请求 或者应答网络请求
----构造方法:Socket(InetAdress address,int port)---创建一个流套接字,并将其连接到指定IP地址的端口 号
结果图:如下---先运行Service1
![](http://my.csdn.net/uploads/201208/20/1345469985_8697.jpg)
再运行Client1
![](http://my.csdn.net/uploads/201208/20/1345470007_9721.jpg)
模拟客户端
----套接字是两台机器间通信的端点,用于描述IP地址和端口,应用程序通常通过“套接字”向网络发送请求 或者应答网络请求
----构造方法:Socket(InetAdress address,int port)---创建一个流套接字,并将其连接到指定IP地址的端口 号
结果图:如下---先运行Service1
![](http://my.csdn.net/uploads/201208/20/1345469985_8697.jpg)
再运行Client1
![](http://my.csdn.net/uploads/201208/20/1345470007_9721.jpg)
模拟客户端
package guo; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; public class Client1 { public static void main(String[] args) { try { Socket socket = new Socket("127.0.0.1",8000); BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true); BufferedReader in1 = new BufferedReader(new InputStreamReader(socket.getInputStream())); while(true) { /*从键盘读一行*/ String str = in.readLine(); if(str==null || "".equals(str))break; /*写给服务器端*/ out.println(str); String str1 = in1.readLine(); System.out.println(str1); } socket.close(); } catch (Exception e) { e.printStackTrace(); } } }模拟服务端
package guo; import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class Service1 { public static void main(String[] args) { try { /*开辟一个端口就是开启一个服务了---端口的分配必须是唯一的,因为端口是为了唯一标识每台计算机唯一服务的 * 端口号是从0~65535之间的,前1024个端口已被Tcp/Ip作为保留端口,因此自己分配的端口只能是1024以后的*/ ServerSocket s = new ServerSocket(8000); System.out.println("服务已经开启,等待客户来访问!"); /*等待客户来访问,如果没有客户就阻塞,一直等待*/ Socket socket = s.accept(); System.out.println("接受到客户的访问!"); /*服务器从Socket的输入流中读取数据*/ BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream())); BufferedReader in1 = new BufferedReader(new InputStreamReader(System.in)); PrintWriter out = new PrintWriter(new OutputStreamWriter(socket.getOutputStream()),true); while(true) { //从socket的输入流中进行读操作 String str = in.readLine(); if("exit".equals(str))break; /*打印到控制台*/ System.out.println(str); /*服务器端键盘*/ String str1 = in1.readLine(); out.println(str1); } socket.close(); s.close(); } catch (Exception e) { e.printStackTrace(); } } }
相关文章推荐
- [原]《Java TCP/IP Socket 编程 》读书笔记之十一:深入剖析socket——TCP套接字的生命周期
- Java套接字Socket编程--TCP参数
- [原]《Java TCP/IP Socket 编程 》读书笔记之十一:深入剖析socket——TCP套接字的生命周期
- Java 网络编程socket编程等详解
- java网络编程--socket套接字
- [置顶] Java套接字Socket编程
- Java 的 Socket(套接字)编程简易教程
- 【网络编程5】Java与Python套接字Socket通信的例子
- 面向套接字(Socket)Java编程(单线程+多线程)
- Java套接字Socket编程--TCP参数
- java网络编程——Socket和ServerSocket,套接字编程——简单聊天室改进
- Java网络编程(19):套接字(Socket)的异常
- Java网络编程从入门到精通(16):客户端套接字(Socket)的超时
- Java 套接字(Socket)-Java基础-Java-编程开发
- java编程_socket_套接字_网络编程
- Java网络编程(16):客户端套接字(Socket)的超时
- 《Java TCP/IP Socket 编程 》读书笔记之十一:深入剖析socket——TCP套接字的生命周期
- Java Socket网络编程初级入门-Java基础-Java-编程开发
- Java 网络编程(五) 使用TCP/IP的套接字(Socket)进行通信
- java 基于socket套接字的低层次网络编程