六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

java編寫TCP方式的通信程序

[摘要]Java API中封裝了大量的函數(shù),供編寫網(wǎng)絡(luò)通信程序時使用.這使得java在網(wǎng)絡(luò)方面具有強(qiáng)大的功能.用java編寫TCP方式的通信程序比較簡單,但也有一些問題需要注意.以下為監(jiān)聽主程序,監(jiān)聽程序在發(fā)現(xiàn)客戶端連接后,啟動一個會話socket線程,以實現(xiàn)實時發(fā)送,接收信息和多客戶端同時工作.impo...
Java API中封裝了大量的函數(shù),供編寫網(wǎng)絡(luò)通信程序時使用.
這使得java在網(wǎng)絡(luò)方面具有強(qiáng)大的功能.
用java編寫TCP方式的通信程序比較簡單,但也有一些問題需要注意.

以下為監(jiān)聽主程序,監(jiān)聽程序在發(fā)現(xiàn)客戶端連接后,啟動一個會話socket線程,以實現(xiàn)實時發(fā)送,接收信息
和多客戶端同時工作.
import java.io.*;
import java.lang.*;
import java.net.ServerSocket;
import java.net.Socket;
//主程序一直處于監(jiān)聽狀態(tài),有連接則啟動一個線程進(jìn)行處理,以實現(xiàn)多個客戶端
public class listenserve
{
private ServerSocket ss;
private boolean listening=true;
public listenserve()
{
  Init();//初始化
  lisn();//啟動監(jiān)聽
}
public void Init()
{
  try
  {
   ss=new ServerSocket(10015,10);
  }
  catch(IOException ie)
  {
    System.out.println("無法在10015端口監(jiān)聽");
    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();
}
}

//以下為會話主程序
應(yīng)該特別注意,如果客戶端先關(guān)閉,會話socket中可能拋出socketexception:connection reset
這應(yīng)該在程序中進(jìn)行處理,這也是較易忽略的問題.
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方式發(fā)送數(shù)據(jù)!";
   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通信程序的原理.
希望各位朋友批評.大家共同學(xué)習(xí)交流.


主站蜘蛛池模板: 日本免费不卡在线一区二区三区 | 四虎永久在线观看免费网站网址 | 性生活视频欧美 | 特一级黄色片 | 日韩三级在线免费观看 | 天天躁夜夜躁狠狠躁2021西西 | 日韩伦理片 | 先锋资源色| 素人天堂| 日韩专区亚洲精品欧美专区 | 日本精品一区二区三区四区 | 日本五级床片免费 | 日本三级香港三级国产三级 | 四虎4hu永久免费国产精品 | 综合久久久久6亚洲综合 | 日本一区中文字幕 | 射久久久| 日韩美女一区 | 完整欧美一级淫片免费看 | 五月婷婷一区 | 啪在线视频 | 亚洲精品在线免费看 | 在线看片h站 | 亚洲乱码一二三四五六区 | 日本亚洲中午字幕乱码 | 亚洲va中文字幕无码 | 伊人久久中文字幕久久cm | 欧美一卡二卡3卡4卡无卡六卡七卡科普 | 色综合视频 | 青娱乐精品视觉盛宴 | 午夜久久福利 | 欧美亚洲性色影视在线 | 日日干日日射 | 日本视频在线免费看 | 一二三四影视在线观看免费视频 | 色网站在线观看 | 色爱区综合激情五月综合激情 | 亚洲女人国产香蕉久久精品 | 性夜黄a爽影免费看 | 欧美系列在线 | 青娱乐啪啪 |