当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:15:00  来源:本站整理

基于Socket的Java网络编程集粹[Java编程]

赞助商链接



  本文“基于Socket的Java网络编程集粹[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

其实,简单的解析一下,便可以看出客户和服务通讯的主要通道就是Socket本身,而服务器通过accept办法就是赞成和客户成立通讯.这样当客户成立Socket的同时.服务器也会利用这一根连线来先后通讯,那么既然如此只要我们存在多条连线便可以了.那么我们的程序可以变成以下:

那么下面的问题是若何利用线程.首先要做的事情是成立线程并使得其可以和网络连线获得接洽.然后由线程来履行方才的操作,要成立线程要末直接担当Thread要末实现Runnable接口,要成立和Socket的接洽只要传送引用便可以了.而要履行线程就必须重写run办法,而run办法所做的事情就是方才单线程版本main所做的事情,因此我们的程序变成了这样:

import java.net.*;
  import java.io.*;
  public class MultiUser extends Thread{
  private Socket client;
  public MultiUser(Socket c){
  this.client=c;
  }
  public void run(){
  try{
   BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream()));
   PrintWriter out=new PrintWriter(client.getOutputStream());
   //Mutil User but can parallel
   while(true){
    String str=in.readLine();
    System.out.println(str);
    out.println("has receive....");
    out.flush();
    if(str.equals("end"))
     break;
   }
   client.close();
  }catch(IOException ex){
  }finally{
  }
  }
  public static void main(String[] args)throws IOException{
  ServerSocket server=new ServerSocket(5678);
  while(true){
  //transfer location change Single User or Multi User
  MultiUser mu=new MultiUser(server.accept());
  mu.start();
  }
  }
  }

客户端代码:

import Java.net.*;
import Java.io.*;
public class Client{
static Socket Server;
public static void main(String[] args) throws Exception
{
Server=new Socket (InetAddress.getLocalHost(),5678);
BufferedReader in=new BufferedReader(new InputStreamReader(Server.getInputStream()));
PrintWriter out=new PrintWriter(Server.getOutputStream());
BufferedReader wt=new BufferedReader(new InputStreamReader(System.in));
while(true)
{
String str=wt.readLine();
out.println(str);
out.flush();
if(str.equals("end"))
{
break;
}
System.out.println(in.readLine());
}
Server.close();
}
}

这段程序是承受客户的键盘输入,并把信息输出到服务端.并把"end"作为退出的号令

以上程序完成了两台计算机的简单通信.


  以上是“基于Socket的Java网络编程集粹[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
  • 基于Socket的Java网络编程集粹
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .