麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

java編寫TCP方式的通信程序

2019-11-18 14:49:54
字體:
來源:轉載
供稿:網友


java API中封裝了大量的函數,供編寫網絡通信程序時使用.
這使得java在網絡方面具有強大的功能.
用java編寫TCP方式的通信程序比較簡單,但也有一些問題需要注重.

以下為監聽主程序,監聽程序在發現客戶端連接后,啟動一個會話socket線程,以實現實時發送,接收信息
和多客戶端同時工作.
import java.io.*;
import java.lang.*;
import java.net.ServerSocket;
import java.net.Socket;
//主程序一直處于監聽狀態,有連接則啟動一個線程進行處理,以實現多個客戶端
public class listenserve
{
PRivate ServerSocket ss;
private boolean listening=true;
public listenserve()
{
  Init();//初始化
  lisn();//啟動監聽
}
public void Init()
{
  try
  {
   ss=new ServerSocket(10015,10);
  }
  catch(IOException ie)
  {
    System.out.println("無法在10015端口監聽");
    ie.printStackTrace();
  }
}
public void lisn()
{
  try
  {
   while(listening)
    new Thread(new dialogserve(ss.accept())).start();
    }
   catch(IOException ie)
   {ie.printStackTrace();}
}
public static void main(String args[])
{
  new listenserve();
}
}

//以下為會話主程序
應該非凡注重,假如客戶端先關閉,會話socket中可能拋出socketexception:connection reset
這應該在程序中進行處理,這也是較易忽略的問題.
import java.io.*;
import java.lang.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.net.SocketException;
public class dialogserve implements Runnable
{
private Socket s;
private InputStream in;
private String rev,temp;
private byte b[];
private int len;
public dialogserve(Socket ss)
{
  s=ss;
  b=new byte[1024];
  try
  {
  in=s.getInputStream();
  }catch(IOException ie)
  {
   ie.printStackTrace();
   }
  rev="";
}
public void run()
{
  try
  {
   while(s.isConnected()==true)
   {
    if((len=in.read(b))!=-1)
    {
     temp=new String(b,0,len);
      rev+=temp;
      System.out.print(rev);
      temp=null;
      Thread.sleep(1000);
    }
   }
   in.close();
   s.close();
   System.out.println("會話socket已斷開!");
  }
  catch(SocketException se)
  {
   System.out.println("客戶端已斷開!");
    System.exit(0);
  }
  catch(IOException io)
  {
   io.printStackTrace();
   System.exit(0);
  }
  catch(InterruptedException ire)
  { ire.printStackTrace();}
}
}
//以下為客戶端主程序
import java.io.*;
import java.net.Socket;
import java.lang.*;
public class client
{
private Socket con;//客戶端連接socket
private OutputStream out;
private String sen;
private byte b[];
public client()
{
  clientInit();
}
public void clientInit()
{
  try
  {
   con=new Socket("localhost",10015);
   con.setSoTimeout(10000);
   b=new byte[1024];
   OutputStream out=con.getOutputStream();
   sen="hello serve,以TCP方式發送數據!";
   b=sen.getBytes();
   out.write(b);
   out.flush();
   out.close();
   con.close();
  }
  catch(IOException ie)
  {
   ie.toString();
  }
}
public static void main(String args[])
{
  new client();
}
}
總的來說,以上所列代碼較為簡單,但已基本反映出java編寫簡單tcp通信程序的原理.
希望各位朋友批評.大家共同學習交流.



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 午夜精品毛片 | 成人福利视频在线 | 污污网站入口 | 91久久国产露脸精品免费 | 黄污网站在线观看 | 国产午夜精品久久久久婷 | 欧美亚州 | 午夜视频在线免费播放 | 日韩av片在线免费观看 | 大片毛片 | 欧美1 | 久久αv| 一级做a爱片久久 | 国产二区三区在线播放 | 91麻豆蜜桃一区二区三区 | 成人毛片免费 | 日本人乱人乱亲乱色视频观看 | 高清国产午夜精品久久久久久 | 精品国产一区二区三区蜜殿 | 成人国产免费观看 | 狠狠干天天操 | 天天躁狠狠躁夜躁2020挡不住 | 日本一道aⅴ不卡免费播放 久久久久久久高清 | 久久久久9999 | 免费毛片随便看 | 国产一区二区视频网站 | 性欧美暴力猛交69hd | 日韩视频一二三 | 一级电影免费看 | 成人在线精品视频 | 久久久久久久久成人 | 国产精品久久99精品毛片三a | 国产99久久| 久草手机在线 | 91九色视频 | 免费视频观看 | 成人在线视频在线观看 | 国产一区二区二 | 国产精品久久久久久久av三级 | 久久久精品福利 | av在线更新 |