gpt4 book ai didi

java - 单个java程序可以通过两个不同的端口发送和接收数据吗

转载 作者:行者123 更新时间:2023-12-01 18:37:14 25 4
gpt4 key购买 nike

我编写了一个客户端程序,它通过 Router1 类中的 receive 方法(例如)通过端口号 2000 从服务器接收纯文本。现在我想通过同一类 Router1 的发送方法中的另一个端口号 2001 将这些数据从客户端程序发送到另一个程序(Client2)。这是允许的方式吗?

我收到连接被拒绝:连接异常

import java.io.*;
import java.util.*;
import java.net.*;
import java.sql.*;
class Router{
String str;
public void receive(){
try{
while(true){
Socket so=new Socket("localhost",2000);
BufferedReader br=new BufferedReader(new InputStreamReader(so.getInputStream()));
str=br.readLine();
System.out.println("server has sent:"+str);
so.close();}
}catch(IOException e){
e.printStackTrace();}
}
public void send(){
int i,index=0,min=100;
int row=2;
try{
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection cn=DriverManager.getConnection("jdbc:odbc:DSN2");
Statement st=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
ResultSet rs=st.executeQuery("select * from Table1");
//rs.absolute(row);
rs.next();
rs.next();
//System.out.println(rs.getInt(1)+"\t"+rs.getInt(2)+"\t"+rs.getInt(3)+"\t"+rs.getInt(4)+"\t"+rs.getInt(5)+"\t"+rs.getInt(6));
for( i=2;i<7;i++){
int value=rs.getInt(i);
System.out.println("hello");
if(value<min){
index=i;
min=value;}
}
System.out.println("min is"+min);
System.out.println("AT index"+index);
switch(index){
case 2:
ioConnect();
break;
case 3:
ioConnect();
break;
case 4:
ioConnect();
break;
case 5:
ioConnect();
break;
case 6:
ioConnect();
break;
}

}catch(Exception e){
e.printStackTrace();
}
}


public void ioConnect(){
try{
ServerSocket ss=new ServerSocket(2001);
Socket so=ss.accept();
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
System.out.println("enter the message");
String str=br.readLine();
PrintStream ps=new PrintStream(so.getOutputStream());
ps.println(str);
}
catch(Exception e){
e.printStackTrace();
}
}
}
class Router1{
public static void main(String s[]){
Router obj=new Router();
obj.receive();
obj.send();
}
}

最佳答案

当然是允许的。连接被拒绝只是意味着该端口上没有任何内容正在监听,因此您的程序显然无法正常工作。

关于java - 单个java程序可以通过两个不同的端口发送和接收数据吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21455679/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com