`
chenhua_1984
  • 浏览: 1255590 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

oracle 发TCP请求到指定端口

阅读更多
create or replace and compile java source named "TcpRequest" as
package com.ora.pro;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.Socket;
import java.net.UnknownHostException;

public class OracleTcpRequest {
	
	public static String getUserInfo(String ip){
		String strLine="";
		try {
			Socket socket=new Socket(ip,34569);
			System.out.println("Request has been sending.....");
  			PrintWriter ps=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
			ps.println("172.16.4.110");
			ps.flush();
			ps.close();
			socket.close();
		} catch (UnknownHostException e) {
			e.printStackTrace();
			return "0";
		} catch (IOException e) {
			e.printStackTrace();
			return "0";
		}
		return "1";
	}
}

 在 sqlplus里执行:

create or replace function TcpRequest(ipaddress varchar2) return varchar2 
as language java name
'com.ora.pro.OracleTcpRequest.getUserInfo(java.lang.String)return java.lang.String';
 
 set serveroutput on;

select TcpRequest('172.16.4.37') from dual;
 
package com.oracle.test;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;


public class OracleServerTcp {

	public static void main(String[] args) {
		
		try {
			ServerSocket serverSocket=new ServerSocket(34569);
			while(true){
				Socket socket=serverSocket.accept();
				System.out.println("已经侦听到了请求");
				serverSocket.setSoTimeout(100);
				
				BufferedReader bReader=new BufferedReader(new InputStreamReader(socket.getInputStream()));
				String strLine=bReader.readLine();
				System.out.println("strLine:==========="+strLine);
				
				PrintWriter ps=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())));
	   			ps.println("172.16.4.110");
	   			ps.flush();
	   			ps.close();
	   			serverSocket.close();
	   			socket.close();
			}
			
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
}
 
分享到:
评论

相关推荐

    oracle 端口映射源代码

    1. **监听器端口** (默认1521):Oracle的监听器进程(LISTENER)运行在该端口上,负责接收来自客户端的连接请求,并转发到相应的数据库实例。 2. **服务端口**:每个数据库实例可以有多个服务名,每个服务名可能...

    TCP IP端口描述

    - **用途**: TCP端口服务复用器(TCP Port Service Multiplexer),用于转发到其他服务。 - **描述**: 早期的UNIX系统中用于将请求转发给具体的服务程序。 2. **Compressnet Management Utility (端口号: 2)** -...

    oracle调用java 使用socket监听端口测试

    当客户端(可能是另一个Java程序或任何能发起TCP连接的应用)连接到指定端口时,服务器端的Socket会接收到请求,然后可以读取和响应数据。 5. **测试**:在测试阶段,我们可以编写一个简单的Java客户端程序,连接到...

    TCP_port端口号说明

    它可以根据客户端请求将数据转发到相应的服务端口。 ### 2. compressnet (端口2/3) 这两个端口主要用于压缩网络服务,但现在已被废弃,通常不建议使用。 ### 3. Remote Job Entry (端口5) 远程作业入口(Remote ...

    修改Oracle监听默认端口号1521的方法

    在Oracle数据库环境中,监听器(Listener)是负责处理网络连接请求的关键组件,它默认使用1521端口号。然而,出于多种原因,如避免端口冲突、满足特定业务需求或提升安全性,我们可能需要修改Oracle监听器的默认端口...

    Oracle配置邮件自动发送的方法

    - 在“电子邮件设置”页面中,输入SMTP服务器的主机名或IP地址、端口号,并选择相应的协议(通常为TCP)。 - 如果邮件服务器需要身份验证,勾选“启用身份验证”,并输入用户名和密码。 2. **设置发件人和收件人*...

    netty通信框架tcp+oracle

    通过以上步骤,Netty 可以高效地处理TCP连接,并将接收到的实时数据安全地保存到Oracle数据库中。同时,通过优化和错误处理策略,确保了整个系统的稳定性和高可用性。在实际项目中,还需要根据具体需求进行定制和...

    常用默认端口说明

    13. **Oracle数据库**:默认端口号1521/tcp。 14. **MSSQL Server**(数据库服务器):默认端口号1433/tcp。 15. **MSSQL Server(数据库监视器)**:默认端口号1434/tcp。 16. **QQ**:常用端口号1080/udp。 #### ...

    常用服务器开放端口

    此端口用于建立客户端与SOCKS服务器之间的连接,并进一步转发请求到目标服务器。 #### 3. FTP (文件传输协议) FTP是一种用于在计算机之间传输文件的标准网络协议。FTP服务默认使用TCP端口21。此端口用于控制命令的...

    oracle监听器深入讲解

    它负责管理 Oracle 数据库和客户端之间的通讯,在一个特定的网卡端口(默认是 TCP 1521 端口)上监听连接请求,并将连接转发给数据库。 2. Oracle 监听器功能 Oracle 监听器有三个主要功能: * 监听客户端请求:...

    Oracle 数据库应用:第13章 配置Oracle互联.ppt

    tnsping向指定的服务名发送一个请求,检查网络配置是否正确,并返回关于连接成功与否的反馈。 故障转移是确保高可用性的关键功能。通过配置连接故障转移,当主服务器不可用时,客户端可以自动切换到备用服务器,...

    oracle_listener_详解

    2. **代理服务器设置**:在代理服务器上配置端口转发规则,将外部请求转发到内部数据库服务器的 Listener 端口(例如 1521)。 3. **客户端配置**:客户端使用代理服务器的地址和端口连接数据库。 #### 十、Windows...

    Windows上Oracle开放防火墙端口问题参考.pdf

    2. **监听器处理请求**:服务器端的1521监听端口接收到来自客户端的连接请求后,会将请求转发给Server Process进程,并向客户端返回一个随机的端口号。 3. **建立最终连接**:客户端根据返回的随机端口号再次发起...

    oracle ManagedDataAccess连接实例

    `Data Source`定义了Oracle数据库的连接细节,包括服务器地址、端口和服务名。`User Id`和`Password`分别用于指定数据库的用户名和密码。`using`语句确保了连接在使用完毕后会被正确关闭,即使出现异常也能执行清理...

    oracle监听配置

    Oracle监听配置是数据库系统中一个至关重要的环节,它关乎到客户端能否成功地连接到数据库服务器。监听器(LISTENER)是Oracle服务器端的一种网络服务,它的主要任务是监听客户端的连接请求,对这些请求进行验证,并...

    oracle客户端连接远程服务器

    客户端程序是Oracle数据库软件的一部分,负责发送用户的SQL请求到服务器,并将查询结果返回给用户。 描述中提到的下载Oracle客户端,可以按照文档中的步骤进行配置。通常,Oracle提供了详细的文档和向导来指导用户...

    TCP-UDP port numbers

    - 当Web服务器响应来自客户端的请求时可能会使用这些端口作为源端口。 - 在P2P网络中,客户端之间的连接可能使用此类端口进行通信。 - 在某些情况下,当客户端与服务器之间建立连接时,客户端会使用此类端口。 ### ...

    ORACLE的工作机制

    调度进程选择TCP/IP端口,用户进程通过该端口发送请求。 2. **请求队列**:所有调度进程将各自的用户请求放入一个统一的请求队列中,供共享服务器进程处理。处理完毕后,结果会被放入不同的响应队列,由相应的调度...

Global site tag (gtag.js) - Google Analytics