JAVA中Socket服务器/客户端的通信
2015-06-08 19:53
465 查看
Socket服务器/客户端的通信
(简易)
服务端:接收客户端发来的消息
客户端:接收键盘输入向服务端发送消息
功能简易,其他功能原理相同,只是提供给小代码框架提供出参考
客户端:
服务端:
运行测试:
代码相对基础不给予讲解
(简易)
服务端:接收客户端发来的消息
客户端:接收键盘输入向服务端发送消息
功能简易,其他功能原理相同,只是提供给小代码框架提供出参考
客户端:
<span style="font-size:18px;">package com.cr.bean; import java.io.BufferedReader; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.InputStreamReader; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.Socket; import java.util.Scanner; public class client001 { @SuppressWarnings("resource") public static void main(String []args){ Scanner scanner = new Scanner(System.in); Socket mysocket = null; DataInputStream in = null; DataOutputStream out = null; try { mysocket = new Socket(); System.out.println("请输入服务器IP:"); String IP = scanner.nextLine(); System.out.println("请输入端口号:"); int port = scanner.nextInt(); if(mysocket.isConnected()){} else{ //连接服务器,使用多线程技术 InetAddress address = InetAddress.getByName(IP); InetSocketAddress socketAddress = new InetSocketAddress(address,port); mysocket.connect(socketAddress); System.out.println(socketAddress.toString()); in = new DataInputStream(mysocket.getInputStream()); out = new DataOutputStream(mysocket.getOutputStream()); } } catch (Exception e) { System.out.print("服务器连接已断开"+e); } while(true){ String str = null; try { str = scanner.nextLine(); out.writeUTF(str); } catch (Exception e) { System.exit(0); } } } }</span><span style="color:#ff0000;"> </span>
服务端:
<span style="font-size:18px;">package com.cr.bean; import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.InetAddress; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; public class serve001 { @SuppressWarnings("resource") public static void main(String[] args){ ServerSocket server = null; Socket you = null; while(true){ try { server = new ServerSocket(7777); } catch (IOException e) { System.out.println("正在监听……"); } try { you = server.accept(); System.out.println("客户的地址:"+you.getInetAddress()); } catch (IOException e) { System.out.println("正在等待客户"); } if(you!=null){ new ServerThread(you).start();//为每个客户启动一个专门的线程 } } } } class ServerThread extends Thread{ Socket socket; DataOutputStream out = null; DataInputStream in = null; String s = null; ServerThread(Socket t){ socket = t; try { out = new DataOutputStream(socket.getOutputStream()); in = new DataInputStream(socket.getInputStream()); } catch (Exception e) { e.printStackTrace(); } } @Override public void run() { try { while(true){ String str = in.readUTF(); System.out.println("客户端发送给服务器说:"+str); } } catch (Exception e) { System.out.println("客户离开"); } } }</span><span style="font-size:32px;font-weight: bold;"> </span>
运行测试:
代码相对基础不给予讲解
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统