永发信息网

javasocket为什么不能实现两台计算机间的通信啊本机作为服务器和客户端时没问题,请教各位大神谢谢

答案:2  悬赏:60  手机版
解决时间 2021-01-27 09:31
  • 提问者网友:流星是天使的眼泪
  • 2021-01-26 21:59
//服务器代码:
package server;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
private Socket socket;
private ServerSocket ss;

public Server() throws IOException {
ss = new ServerSocket(7080);
while (true) {
socket = ss.accept();
BufferedReader br = new BufferedReader(new InputStreamReader(socket
.getInputStream()));
System.out.println("you input is : " + br.readLine());
System.out.println("启动成功!");
}
}

public static void main(String[] args) {
try {
new Server();
} catch (IOException e) {
e.printStackTrace();
}
}
}
//客户端代码
package server;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;

public class client {
Socket client;
PrintWriter pw;
public client() throws UnknownHostException, IOException {
client=new Socket("127.0.0.1",7080);
pw=new PrintWriter(client.getOutputStream());
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("启动成功!"+InetAddress.getLocalHost());
pw.write(br.readLine());
pw.close();
br.close();
}
public static void main(String[] args) {
try {
new client();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
最佳答案
  • 五星知识达人网友:杯酒困英雄
  • 2021-01-26 22:16
你标题说两台计算机,为什么你的client是client=new Socket("127.0.0.1",7080); 是本机呢?
全部回答
  • 1楼网友:夜余生
  • 2021-01-26 23:50
java.net.socketexception: connection reset 引起这个异常的原因有两个: 一、客户端和服务器端如果一端的socket被关闭,另一端仍发送数据,发送的第一个数据包引发该异常; 二、客户端和服务器端一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常。 简单来说就是在连接断开后的读和写操作引起的。 ========================== 把你的socketclient代码给我看下。
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯