Java网络编程基础
来源:互联网 发布:php aes对称加密算法 编辑:程序博客网 时间:2024/06/05 04:28
第一步,构建服务器
步骤:
1、构建服务器端ServerSocket对象(Socket类扮演两种角色:a、当使用new构建一个Socket对象是意味着客户端需要向服务器端申请链接。b、当在服务器中使用accept方法获取是,表明获得一个客户端连接的连接信息
2、通过ServerSocket对象.accept方法取得连接。
3、通过流与客户端交互数据。
第二步,构建客户端
步骤:
1、构建Scoket对象(通过InetAddress.getByName(ip),端口号)获得)。
2、通过流与服务器进行数据交互。
以下是一个简单的服务器/客户端的实现。实现的具体功能是客户端发送信息给服务器,服务器在控制台打印客户端发来的信息
1、服务器
import java.io.DataInputStream;import java.io.IOException;import java.io.InputStream;import java.net.ServerSocket;import java.net.Socket;public class Server { public static void main(String[] args) { try { ServerSocket server = new ServerSocket(8989); Socket socket = server.accept(); InputStream is = socket.getInputStream(); DataInputStream dis = new DataInputStream(is); while(true) { String msg = dis.readUTF(); System.out.println(msg); if("exit".equals(msg)) { break; } } is.close(); dis.close(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
2、客户端
import java.io.BufferedInputStream;import java.io.BufferedReader;import java.io.DataOutputStream;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStream;import java.net.Inet4Address;import java.net.InetAddress;import java.net.Socket;import java.net.UnknownHostException;public class Client { public static void main(String[] args) { try { Socket socket = new Socket(InetAddress.getByName("127.0.0.1"),8989); BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));//用BufferedReader读取控制台的输入信息 OutputStream os = socket.getOutputStream();//创建输出流 DataOutputStream dos = new DataOutputStream(os); while(true) { String msg = reader.readLine();/从控制台读取一行 dos.writeUTF(msg);//将信息通过流发送给服务器 if("exit".equals(msg)){//如果输入"exit"则结束客户端 break; } } //关闭流 os.close(); dos.close(); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
0 0
- JAVA网络编程基础
- Java网络编程基础
- java网络编程基础
- Java网络编程基础
- Java基础网络编程
- Java网络编程基础
- java基础<网络编程>
- java网络编程基础
- Java网络编程基础
- java基础:网络编程
- Java基础:网络编程
- 【java】网络编程基础
- java网络编程基础
- java网络编程基础
- Java基础--网络编程
- Java 网络编程基础
- Java基础:网络编程
- java基础--网络编程
- Haproxy状态总结
- linux下core文件的调试
- 步步为营(八)常用数据结构(1)STL-List(双端链表)
- Hibernate many2many映射关系
- STP生成树协议实例详解
- Java网络编程基础
- 初级程序员避免错误的14个诀窍
- Android之媒体库(一)
- iOS开发——keychain的使用
- 对 Linux 新手非常有用的 20 个命令
- Spring MVC学习-----------springMVC-mvc.xml
- 在sublime text3中编写的html文件怎样运行
- java基础:HashMap、HashTable、LinkedHashMap和TreeMap用法和区别
- rtpengine源码结构分析及交互流程