日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

记录一次Socket异常:java.net.SocketException: Connection reset

發布時間:2025/3/15 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 记录一次Socket异常:java.net.SocketException: Connection reset 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

先貼異常信息

java.net.SocketException: Connection resetat java.net.SocketInputStream.read(SocketInputStream.java:210)at java.net.SocketInputStream.read(SocketInputStream.java:141)at java.net.SocketInputStream.read(SocketInputStream.java:127)at cn.com.fujielectric.tasks.ListeningSocketServer$ServerThread.run(ListeningSocketServer.java:58)

網上對于這個Connection reset異常的解決方案是:

該異常發生在客戶端進行 new Socket(ip, port)操作時,該異常發生的原因是或者具有ip地址的機器不能找到(也就是說從當前機器不存在到指定ip路由),或者是該ip存在,但找不到指定的端口進行監聽。出現該問題,首先檢查客戶端的ip和port是否寫錯了,如果正確則從客戶端ping一下服務器看是否能ping通,如果能ping通(服務服務器端把ping禁掉則需要另外的辦法),則看在服務器端的監聽指定端口的程序是否啟動

我這里出現的異常是在服務端啟動時,客戶端關閉連接則報以上異常。

原因如下:因為我客戶端業務邏輯是先獲取服務端發送過來的消息,然后才發送響應信息前往服務端。具體代碼如下

public class TCPClien {public static void main(String[] args) {Socket socket=null;try {//對服務端發起連接請求socket=new Socket("localhost", 8080);//接受服務端消息并打印InputStream is=socket.getInputStream();byte b[]=new byte[1024];is.read(b);System.out.println(new String(b));//給服務端發送響應信息OutputStream os=socket.getOutputStream();os.write("I am client".getBytes());} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}} }

服務端的業務邏輯也是先獲取客戶端發過來的消息,然后再響應給客戶端,這里我用主線程監聽端口,子線程會話處理

public class ListeningSocketServer {public ListeningSocketServer(int port) {ServerSocket serverSocket = null;Socket socket = null;try {serverSocket = new ServerSocket(port);while (true) {// 監聽一端口,等待客戶接入socket = serverSocket.accept();// 將會話交給線程處理new ServerThread(socket).start();}} catch (IOException e) {e.printStackTrace();} finally {try {serverSocket.close();} catch (Exception e) {e.printStackTrace();}}}class ServerThread extends Thread {private Socket socket;private OutputStream os;private InputStream is;public ServerThread(Socket s) {this.socket = s;try {os = socket.getOutputStream();is = socket.getInputStream();} catch (Exception e) {e.printStackTrace();}}@Overridepublic void run() {try {// 通過輸入流接收客戶端信息byte[] b = new byte[1024];is.read(b);String line = new String(b);System.out.println("Received message: " + line);// 通過輸出流向客戶端發送信息os.write("I am server".getBytes());} catch (IOException e) {e.printStackTrace();} finally {try {socket.close();} catch (IOException e) {e.printStackTrace();}}}} }

問題就出現在著,因為兩者都是一直在等待對方發信息過來,再往下處理,所以兩者一直處于等待狀態,當客戶端停止連接時,服務端便發現接收不到消息,然后報錯

?

總結

以上是生活随笔為你收集整理的记录一次Socket异常:java.net.SocketException: Connection reset的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 国产精品99无码一区二区视频 | 日本人の夫妇交换 | 日本午夜精华 | 激情综合丁香五月 | 国产免费又爽又色又粗视频 | 亚洲国产小视频 | 高清av免费观看 | 欧美日韩黄色大片 | 国产精品乱轮 | 999免费| 香港一级淫片免费放 | 综合激情五月婷婷 | 美女试爆场恐怖电影在线观看 | 久久精品中文闷骚内射 | 亚洲a免费| 午夜黄色在线 | 久久久精品一区二区三区 | 少妇又色又紧又爽又刺激视频 | 国产成人高清视频 | 一区二区影视 | 亚色图 | 日本污污网站 | 成人国产一区 | 久久免费在线观看 | 日韩av一区二区在线观看 | 国内精品一区二区 | av网站在线免费播放 | 欧美精品一二三四 | 国内视频一区二区 | www夜夜 | 青娱乐最新视频 | 性做久久久 | 色涩涩| 日日骑 | 久久久久免费精品视频 | 久久系列| 欧美一级黄色录像 | 特色黄色片 | 国产精品一区二区性色av | 免费萌白酱国产一区二区三区 | 中文字幕在线网 | 日韩一二三四区 | 亚洲福利小视频 | 国产91丝袜 | 欧美一区二区三区在线免费观看 | 国产91一区在线精品 | 婷婷色中文网 | 在线观看日韩中文字幕 | 夜夜嗨av禁果av粉嫩av懂色av | 亚洲日本精品视频 | 九一在线观看免费高清视频 | 日韩免费高清一区二区 | 亚洲精品乱码久久久久久9色 | 中国黄色1级片 | 国产伦精品一区二区三区免费迷 | 奶妈的诱惑| 亚洲国产毛片aaaaa无费看 | 日韩一区av在线 | av中字| 日本高清不卡一区 | 夜夜干天天操 | 在线观看av不卡 | 少妇高潮视频 | 亚洲国产欧美一区 | 毛片传媒| 成人免费毛片网 | 欧美成人精品一区 | 日本三级片在线观看 | 国产美女自拍视频 | 男人天堂网在线 | 日韩一级片免费在线观看 | 136福利视频导航 | 精品成人免费一区二区在线播放 | 性欧美一区 | 黄色av网站免费观看 | 亚色在线观看 | 色哟哟一区二区三区四区 | 久草精品在线观看 | 欧美成人精品一区二区 | 99久久亚洲精品 | 在线观看毛片视频 | 日韩精品色 | 黄色小视频链接 | 国产精品视频福利 | 六月婷婷综合 | 不卡视频一区二区 | 国产99久久久国产精品成人免费 | 中文国产在线观看 | 精品少妇一区二区三区免费观看 | 色倩网站| 无套中出丰满人妻无码 | 亚洲黄色a级片 | 黄页网址大全免费观看 | 一区二区三区免费毛片 | 天堂久久精品 | www.一区 | 日韩精品999 | 天天摸日日摸狠狠添 | 久久高清无码视频 |