• 【网络编程】用Socket实现聊天小程序


    客户端:

     

     1 package day18_网络编程;
     2 
     3 import java.io.FileInputStream;
     4 import java.io.IOException;
     5 import java.io.InputStream;
     6 import java.io.OutputStream;
     7 import java.net.Inet4Address;
     8 import java.net.InetAddress;
     9 import java.net.Socket;
    10 import java.net.UnknownHostException;
    11 import java.util.Scanner;
    12 
    13 public class Client {
    14 
    15     public static void main(String[] args) throws IOException {
    16         InetAddress address = InetAddress.getByName("127.0.0.1");
    17         while (true) {
    18             Socket socket = new Socket(address, 8833);
    19             // 向服务器传输数据
    20             OutputStream os = socket.getOutputStream();
    21             Scanner sc = new Scanner(System.in);
    22             String word = sc.next();
    23             os.write(word.getBytes());
    24             socket.shutdownOutput();
    25             
    26             // 读取服务器发送过来的信息
    27             InputStream is = socket.getInputStream();
    28             byte[] bs = new byte[1024];
    29             int length = -1;
    30             while ((length = is.read(bs)) != -1) {
    31                 String str = new String(bs, 0, length);
    32                 System.out.println(str);
    33             }
    34             socket.shutdownInput();
    35 
    36             os.close();
    37             is.close();
    38         }
    39     }
    40 
    41 }

     

    服务器端:

     1 package day18_网络编程;
     2 
     3 import java.io.IOException;
     4 import java.io.InputStream;
     5 import java.io.OutputStream;
     6 import java.net.ServerSocket;
     7 import java.net.Socket;
     8 import java.util.Scanner;
     9 
    10 import sun.nio.cs.ext.ISCII91;
    11 
    12 public class Server {
    13 
    14     public static void main(String[] args) throws IOException {
    15         ServerSocket serverSocket = new ServerSocket(8833);
    16         
    17         while (true) {
    18             Socket socket = serverSocket.accept();
    19             // 读取客户端发送过来的信息
    20             InputStream is = socket.getInputStream();
    21             int length = -1;
    22             byte[] bs = new byte[1024];
    23             while ((length = is.read(bs)) != -1) {
    24                 String msg = new String(bs, 0, length);
    25                 System.out.println(msg);
    26             }
    27             socket.shutdownInput();
    28             
    29             // 向客户端发送信息
    30             OutputStream os = socket.getOutputStream();
    31             Scanner scanner = new Scanner(System.in);
    32             String toWord = scanner.next();
    33             os.write(toWord.getBytes());
    34             socket.shutdownOutput();
    35             is.close();
    36             os.close();
    37         }
    38         
    39     }
    40 
    41 }
  • 相关阅读:
    ScrollVIew 边界阴影效果
    android 开发 常用工具类
    alertdialog.builder 自定义弹窗
    垂直的seekbar
    SlideSwitch
    [转]Android_气泡效果
    ListView 滚回顶部
    04_dljd_mysql登录和退出
    03_dljd_启动和关闭mysql服务
    02_dljd_mysql数据库的下载、安装与卸载
  • 原文地址:https://www.cnblogs.com/snow1234/p/7214480.html
Copyright © 2020-2023  润新知