導航:首頁 > 編程語言 > javasocket多次

javasocket多次

發布時間:2023-06-13 14:36:55

java中短時間new Socket次數過多,並且socket.close() 並不是釋放連接,而是設置成了time_wait狀態怎麼處理

如果短時間內需要建立的連接過多的話,建議使用Socket線程池來做處理。new 太多的話,占的內存會很多,速度變慢。

❷ java socket 客戶端能 多次 隨時 向客戶端發送會話嗎要怎麼實現,能舉個例子嗎 在線等,謝謝再次謝謝

可以做的到,但這個是有前提的,就好像QQ一樣,必須對方在線,他才能收到你的會話。
比如說多次,你可以採用循環輸入,等到滿足一個條件時,退出!
比如說發送方代碼如下:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import java.util.Scanner;

class practise12{
public static void main(String[] args) throws SocketException, UnknownHostException, IOException{
DatagramSocket ds=new DatagramSocket(3000);
DatagramPacket dp=null;
String str="";
do{
System.out.println("請輸入:");
Scanner input=new Scanner(System.in);
str=input.next();
dp=new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),8000);
ds.send(dp);
}while(str.compareTo("exit")!=0);
ds.close();
}
}

這樣你就可以多次發送會話,當發送方輸入「exit」時,程序就會退出。
接收方也是同樣道理:當接收到「exit」時,程序退出。

一點灼見,希望對你有用!

❸ java中的一個Socket能不能發送多條數據

你這個問題問的我很尷尬,也有點不知道咋回,我大體說說,看能回否解決你的問題答,答:
能。
把socket作成一個長連接,後者說socket本身就是一個種鏈接,這個鏈接你不kill掉,就會存在(理論上。。。),他會一直發送數據,具體是否觸發看你自己是怎麼寫的,比如某個東西改變就發送一次,那麼下次這個東西改變,他還會發送一次。
我糾結的是,如果你問的不是socket能不能多次發送數據,而是一次發送能不能是多條數據,貌似也是可以的,,,
就算不可以,你也可以把多條數據存到一個對象里給發過去,到了接收端取相應的屬性值即可。
——————本人菜鳥,大神勿噴

❹ Java服務端如何用Socket處理單台客戶端的多次請求

」服務端在復返回許可權之後,socket就關閉制了。「這說明你設計的有問題,應該返回許可權後繼續處理,增刪改查等業務,否則會有安全問題。
我覺得,socket初始化、用戶驗證、每個業務請求所對應的處理,這一套操作應該放在監聽的一次循環里,整個結構還是死循環。

其實,最常用的驗證身份的機制是像Java Web裡面的session,用戶信息放進去以後,一段時間內客戶過來的多次請求都從session里的用戶信息驗證就可以了,這也是http這種無連接方式的機制。你的這種需求這樣實現比較方便啊,而且有很多增刪改查的框架比如hibernate可用,為什麼要用Socket發明輪子呢,最差也可以用嵌入式的tomcat或jetty這種伺服器把服務嵌入到程序里實現桌面應用啊。

❺ java socket中。怎麼讓socket連接多次,我接收數據,再發送報了socket的錯誤。

socket可以長時間存在,不關閉的話可以一直通話,你可以向裡面輸入信息,客戶端或者服務端都能讀取,幹嘛需要不斷的請求?

❻ java socket長鏈接接收tcp響應的時候,怎樣區分多次的響應

//客戶端
importjava.net.*;
importjava.io.*;
publicclassTCPClient{
publicstaticvoidmain(String[]args)throwsException{
Sockets=newSocket("127.0.0.1",6666);
OutputStreamos=s.getOutputStream();
DataOutputStreamdos=newDataOutputStream(os);
Thread.sleep(30000);
dos.writeUTF("helloserver!");
dos.flush();
dos.close();
s.close();
}
}
//伺服器端
importjava.net.*;
importjava.io.*;
publicclassTCPServer{
publicstaticvoidmain(String[]args)throwsException{
ServerSocketss=newServerSocket(6666);
while(true){
Sockets=ss.accept();
System.out.println("aclientconnect!");
DataInputStreamdis=newDataInputStream(s.getInputStream());
System.out.println(dis.readUTF());
dis.close();
s.close();
}
}
}

你自己理解下把。。。

閱讀全文

與javasocket多次相關的資料

熱點內容
如何把桌面文件放到excel裡面 瀏覽:363
照片文件名是怎麼查的 瀏覽:876
c怎麼在cmd模式下顯示文件 瀏覽:325
手機怎麼把文件夾的圖片移到相冊 瀏覽:440
hjc是啥文件的格式 瀏覽:298
報廢鐵皮文件櫃圖片 瀏覽:801
win10系統更新文件能 瀏覽:558
怎麼讓蘋果手機下載其他APP 瀏覽:471
多個cs文件編譯成一個dll 瀏覽:606
sql管理工具70 瀏覽:130
js裡面的圖片對齊 瀏覽:965
三星2016視頻文件夾 瀏覽:317
舊手機創新手機數據怎麼傳 瀏覽:954
怎麼刪除領克app里的記錄 瀏覽:254
捷波朗弦月3最新版本 瀏覽:123
win10保存不了文件 瀏覽:735
jsonobject解析list 瀏覽:558
網站未知回應怎麼回事 瀏覽:103
refdoc資料庫 瀏覽:602
傳奇世界文件在哪裡下載 瀏覽:306

友情鏈接