Java(四)网络编程及多线程

网络编程及多线程

目录

网络编程及多线程

实验代码:

实验结果:

总结:


实验代码:

package myFourthJavaPractice;



import java.io.BufferedReader;

import java.io.InputStream;

import java.io.InputStreamReader;

import java.io.PrintStream;

import java.net.Socket;

import java.util.ArrayList;

import java.util.List;



public class Client  {

public static void main(String[] args) throws Exception{

    List<String> newsList1 = new ArrayList<String>();

    List<String> newsList2 = new ArrayList<String>();

    //连接

    Socket socket = new Socket("wanghongyu.cn",30000);

    socket.setSoTimeout(5000);

    PrintStream s = new PrintStream(socket.getOutputStream());

    s.println("1613030102,030102");

   

    //输入流,接收信息

    InputStream is=socket.getInputStream();

    InputStreamReader isr=new InputStreamReader(is,"UTF-8");

    BufferedReader br=new BufferedReader(isr);

    String info=br.readLine();

    System.out.println(info);//练习一向服务器发送你的“学号,身份证后六位”,如果服务器成功接收,将会回传“登陆成功

   

    s.println("news-num");

    int L1 = new Integer(br.readLine());

    System.out.println(L1);//练习二向服务器发送“module-num”,返回新闻列表条数

   

    s.println("news-list");

    for(int i=0;i<L1;i++)

    {

    info=br.readLine();

    System.out.println(info);

    newsList1.add(info);

    }

    String[] news1=new String[L1];

    String[] news2=new String[L1];

    for(int i=0;i<L1;i++)

    {

    String[] x = newsList1.get(i).split(",");

    news1[i]=x[0];

    news2[i]=x[1];

    }//练习三向服务器发送“module-list”,返回新闻列表

   

    s.println("follow-num");

    int L2 = new Integer(br.readLine());

    System.out.println(L2);//练习四向服务器发送“user-num”,返回用户关注列表条数

   

    s.println("follow-list");

    info=null;

    for(int i=0;i<L2;i++)

    {

    info=br.readLine();

    System.out.println(info);

    newsList2.add(info);

    }

    String[] news3=new String[L2];

    String[] news4=new String[L2];

    for(int i=0;i<L2;i++)

    {

    String[] x = newsList2.get(i).split(",");

    news3[i]=x[0];

    news4[i]=x[1];

    }//练习五向服务器发送“user-list”,返回用户关注列表

   

    s.println("add");

    info=br.readLine();

    System.out.println(info);//练习六向服务器发送“add”,返回“请发送你的结果”

   

    String result="";

    result+=news3[0];

    for(int j=0;j<L1;j++){

           if(news4[0].compareTo(news1[j])==0){

             String ss="["+news4[0]+"]";

            result+=ss;

             result+=news2[j];

            }

        }

    for(int i=1;i<L2;i++){ 

        if(news3[i].compareTo(news3[i-1])!=0){

            result+=news3[i];

        }

        for(int j=0;j<L1;j++){

            if(news4[i].compareTo(news1[j])==0){

            String ss="["+news4[i]+"]";

            result+=ss;

            result+=news2[j];

            }

        }

    }

    System.out.println(result);

    s.println(result);

    info=br.readLine();

    System.out.println(info);//练习七向服务器发送你的最终结果

   

    s.close();

    socket.close();

 }

}

 

实验结果:

 

 

总结:

通过这次实验实现了TCP-socket编程,访问服务器连接成功,成功发生请求并收到服务器的响应返回的数据。

补充:

扫描二维码关注公众号,回复: 2597511 查看本文章

 

 

 

猜你喜欢

转载自blog.csdn.net/RayMa0305/article/details/81231617