JAVA Socket保持连接私有成员变量

在java中第一次建立连接把socket连接保存为私有成员变量,然后用另一个请求请求到这个类里面的成员方法,但是获得的连接为空

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
私有成员变量
建立类Student,包含私有成员变量rnint age;string name;string sidrna) 3个变量都可以被外部访问,age是读写属性,不能小于0;name和sid是只读属性rnb) 建立类SClass,包含Student集合,建立根据sid和集合下标的索引器。rn
android保持socket连接
我在界面上用一个按钮的单击事件来创建一个socket,代码如下:rn[code=java]rnsock = new Socket(tv_ip.getText().toString(), port);rnin = new BufferedReader(new InputStreamReader(sock.getInputStream()));rnout = new PrintWriter(new BufferedWriter(new OutputStreamWriter(sock.getOutputStream())), true);[/code]rnrn另外我用另一个按钮来发送数据,代码如下:rn[code=java]rnif(sock.isConnected())rn if(!sock.isOutputShutdown())rn out.println(str_send);rn tv_result.setText(str_send);rn rnrn[/code]rn但是只能发一次,必须再单击创建socket的按钮,才能再次发送。按道理,我是没有关闭socket连接的。由于对android的socket处理机制还不是很熟悉,还请各位前辈指教指教,怎么保持创建的socket,直到程序结束
socket保持连接
WSAStartup(winsock_version,&wsadata))rnlphostent=gethostbyname(host_name); rnhsocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); rnsaServer.sin_family = AF_INET; rnsaServer.sin_port = htons(80); rnsaServer.sin_addr = *((LPIN_ADDR)*lphostent->h_addr_list); rnnRet = connect(hsocket, (LPSOCKADDR)&saServer, sizeof(SOCKADDR_IN)); rnchar *lll="GET /XXX.php?getimg HTTP/1.1\r\nAccept: */*\r\nAccept-Language: zh-cn\r\nAccept-Encoding: gzip, deflate\r\nUser-Agent: Mozilla/4.0\r\n\r\n";rnnRet = send(hsocket,lll,strlen(lll),0);rn执行recv操作;rn//这里成功;rnnRet = send(hsocket,lll,strlen(lll),0);rn执行recv操作;rnrn问题:这里nRet会等于0rn请问是怎么回事?rnrn怎样才能在同一个连接上多次SEND和RECV?
如何保持SOCKET连接
我要写一个C/S结构的的程序 客户端是放在移动终端上的 使用3G网络通信 是C#写的 服务端是JAVA写的 由于客户端与服务端建立一次连接需要很长时间 所以客户端要求与服务端保持SOCKET连接不断开,求教高手这能实现吗? 如何实现呢?
java如何与flex 保持持久的socket连接
求一个例子,我的例子每次只能执行一次,再发送就无法接到服务器的返回值了,请问大家是怎么做的呢?rn这个是我从网上找的一段代码,我调试的时候每次只能返回一次rn服务器代码rn[code=Java]rnimport java.io.BufferedReader;rnimport java.io.BufferedWriter;rnimport java.io.IOException;rnimport java.io.InputStreamReader;rnimport java.io.OutputStreamWriter;rnimport java.io.PrintWriter;rnimport java.net.ServerSocket;rnimport java.net.Socket;rnrnrnpublic class Test rnrn private ServerSocket server; rn private BufferedReader reader; rn private BufferedWriter writer; rn Socket client; rn private String xml; rn rn public Test() rn rn xml="" rn +"" rn +""; rn System.out.println(xml); rn //启动843端口 rn createServerSocket(843); rn rn rn //启动服务器 rn private void createServerSocket(int port) rn rn try rn server = new ServerSocket(port); rn System.out.println("服务监听端口:" + port); rn rn while(true) rn //接收客户端的连接 rn client = server.accept(); rn InputStreamReader input = new InputStreamReader(client.getInputStream(), "UTF-8"); rn reader = new BufferedReader(input); rn OutputStreamWriter output = new OutputStreamWriter(client.getOutputStream(), "UTF-8"); rn writer = new BufferedWriter(output); rn //读取客户端发送的数据 rn StringBuilder data = new StringBuilder(); rn char[] a = new char[50]; rn System.out.println("11111"); rn int j = reader.read(a); rn for(int i=0;i")>=0) rn rn System.out.println("12313");rn writer.write(xml + "\0"); rn writer.flush(); rn writer.close(); rn reader.close(); rn client.close(); rn rn else rn rn System.out.println("dasdas"); rn writer.write("0"); rn writer.flush(); rn rn rn catch (Exception e) rn e.printStackTrace(); rn finally rn //调用垃圾收集方法 rn System.out.println("123");rn try rn rn if(reader != null) rn reader.close(); rn reader=null; rn rn if(writer != null) rn writer.close(); rn writer=null; rn rn if (client != null) rn client.close(); rn client = null; rn rn catch(Exception ie)rn ie.printStackTrace();rn rn rn rn rn rn //测试主函数 rn public static void main(String[] args) rn rn new Test(); rn rnrn[/code]rn客户端代码rn[code=Java]rn rn rn rn rn import flash.events.ProgressEvent;rn import flash.net.Socket;rn import flash.utils.ByteArray;rn rn import mx.controls.Alert; rn private var socket:Socket; rn private var intClient:int;//定义客户端数字出拳 rn private var intServer:int;//定义服务端数字出拳 rn private var intSY:int;//定义输赢判断 rn private var strClient:String;//客户端文字出拳 rn private var strServer:String;//服务端的文字出拳 rn internal function initApp():void rn rn //Security.loadPolicyFile("http://localhost:9000/crossdomain.xml"); rn //Security.loadPolicyFile("xmlsocket://localhost:8888"); rn socket=new Socket();//创建Socket对象 rn socket.connect("192.168.131.42",843);//连接服务器 rn socket.addEventListener(Event.CONNECT,funConnect);//监听是否连接上服务器 rn socket.addEventListener(Event.CLOSE,funClose);//监听套接字连接是否关闭 rn socket.addEventListener(ProgressEvent.SOCKET_DATA,funSocket);//监听服务器的新信息 rn rn internal function funConnect(event:Event):void rn rn myText.text+="连接已建立\n"; rn rn rn internal function funClose(event:Event):void rn rn myText.text+="连接已关闭\n"; rn rn internal function sendMessage(msg:String):void rn rn try rn socket.addEventListener(ProgressEvent.SOCKET_DATA,funSocket);//监听服务器的新信息 rn socket.writeUTFBytes(msg); rn socket.flush(); rn catch(e:IOError)//没有连上服务器就发送数据,会发生IOError异常 rn// trace("未连接服务器");rn Alert.show(e.message);rn rn intClient=int(msg); rn switch(intClient)//将数字转换成文字用于发布到屏幕上 rn rn case 0: rn strClient="剪刀"; rn break; rn case 1: rn strClient="锤"; rn break; rn case 2: rn strClient="包袱"; rn break; rn rn myText.text+="你出:"+strClient+"\n"; rn //myInput.text=""; rn rn internal function funSocket(event:ProgressEvent):void//接到服务器信息 rn rn var msg:String=""; rn while(socket.bytesAvailable) rn msg+=socket.readUTFBytes(socket.bytesAvailable); rn rn //socket.writeUTFBytes("2"); rn // socket.flush(); rn myInput.text=msg; rn intServer=int(msg); rn intSY=intClient-intServer;//通过数值判断输赢 rn switch(intServer)//将数字转换成文字用于发布到屏幕上 rn rn case 0: rn strServer="剪刀"; rn break; rn case 1: rn strServer="锤"; rn break; rn case 2: rn strServer="包袱"; rn break; rn rn myText.text+="服务器出:"+strServer+"\n"; rn //判断输赢的算法 rn if(intSY>0&&intSY<2) rn rn myText.text+="结果:你赢了\n"; rn else if(intClient==intServer) rn rn myText.text+="结果:平手\n"; rn else if(intSY<0&&intSY>-2) rn rn myText.text+="结果:你输了\n"; rn else if(intSY>=2) rn rn myText.text+="结果:你输了\n"; rn else if(intSY<=-2) rn rn myText.text+="结果:你赢了\n"; rn rn myText.verticalScrollPosition = myText.maxVerticalScrollPosition;// myText滚动到最下面 rn rn rn rn rn rn rn rn rnrn[/code]
silverlight Socket 保持连接的问题
我用socket异步同其他程序通讯获得数据,连接后可以获得第一次数据,silverlight 的socket就自动关闭连接了,有没有办法让socket一直保持连接rnrn void socketReceiveArg_Completed(object sender, SocketAsyncEventArgs e)rn rn if (e.SocketError == SocketError.Success)rn rn byte[] byteReceive = e.Buffer;rn string strText = System.Text.Encoding.UTF8.GetString(byteReceive, 0, byteReceive.Length);rn syn.Post(DoThing, strText);rnrn rn
如何保持socket TCP连接
菜鸟我刚刚开始学习C#,想编一个socket通信程序。rn我建立了两个Form(两个class),第一个是登录窗口,用来连接socket服务器,并且验证身份,验证成功则切换到第二个窗口(Form1.Hide,Form2.Show)。但是切换窗口的时候Tcp连接就自动断开了,我想保持这个scoket连接该怎么办?多谢各位大哥大姐了!rn(其实我是想在服务器端显示在线用户,所以想保持连接状态)rn
socket如何一直保持连接?
以前在用VB6写socket程序的时候,可以用一个SOCKET打开一个端口,并为这个端口建立很多实例,然后每一个客户端就和服务端的那个实例连接就可以了,在。net里怎么实现这个功能。rn还有一个问题,。net里如何保持一个连接通讯,而不是有消息就连一次,消息发完就关闭这个连接?
ajax Socket保持连接问题.
由于股票数据更新需求,网页使用Socket向一指定端口连接获取数据.此网页用微软的AJAX控件不断的通过Socket向端口要数据更新.我尝试带static后,发现所有客户连接上来都是用此Socket,多请求时有时数据就会乱套.A请求的数据跑到B端显示.如果不用static,则AJAX每次刷新都要重新创建通道向端口拿数据.请做过网页Soccket的大大们指点一下,如何创建Socket可以让客户端第一次请求进创建通道,Ajax刷新时通过此通道获取数据传输而不断开.客户关闭浏览器后断开此Socket.以保证每一客户一个Socket通道获取数据而不会像我前面发生的数据乱套和连续不断的创建通道使服务器吃不消.
私有成员变量理解的补充
C++ 编译器是如何对类的私有成员变量进行符号解析的;
如何访问私有成员变量?
假设,子类A派生于基类B,请问,有没有办法让A访问B中的私有成员变量?请不要告诉我把B中的私有成员变量改成保护型成员变量。这种方法是行不通的,因为我无法修改B中任何东西。
访问类私有成员变量
下面列举了“非类成员”访问“类私有成员变量”的3种方法:     1.通过类公有成员函数set(), get()写、读私有成员;     2.通过类公有成员函数get()获取私有成员的指针或引用,对指针或引用操作;     3.通过友元。     方法1,3都是经常使用的,方法2有点意外(写这篇blog也是因为它);不管怎么说,方法2,3都破坏了类的封装性。 #include
c# 如何私有成员变量
楼主小白,在用C#写一个类似串口的form程序,现在想写一个函数访问定义的textbox变量发现无法访问,提示错误“需要对象应用”,求问解决方法。下面贴出代码和错误提示:rnrn在form1_design.cs 文件里定义了一些控件:rn private System.Windows.Forms.Label label_Port;rn private System.Windows.Forms.ComboBox comboBox_Port;rn private System.Windows.Forms.Label label_Baudrate;rn private System.Windows.Forms.ComboBox comboBox_Baudrate;rn private System.Windows.Forms.Button button_Open;rn private System.Windows.Forms.Button button_Reset;rn private System.Windows.Forms.Label label_Data_Received;rnrn在程序中想给这些控件赋值:rnrnusing System;rnusing System.Collections.Generic;rnusing System.Configuration;rnusing System.ComponentModel;rnusing System.Data;rnusing System.Drawing;rnusing System.Linq;rnusing System.Drawing.Drawing2D;rnusing System.Text;rnusing System.IO.Ports; rnusing System.Windows.Forms;rnusing System.Text.RegularExpressions;rnrnrnnamespace Radio_Test_GUIrnrn public partial class Form_Test_Gui : Formrn rn private SerialPort Serial = new SerialPort();rn private StringBuilder Builder = new StringBuilder();rn private long recv_count = 0;rn private long send_count = 0;rn private bool listening = false;rn private bool clossing = false;rnrn public Form_Test_Gui()rn rn InitializeComponent();rn rnrn private static void ReadXml() // 自己写的程序,rn rn comboBox_Port.Text = GetAppConfig("Portname"); //出错的地方rn comboBox_Baudrate.Text = GetAppConfig("Baudrate"); //出错的地方rn rnrnrn提示的错误:rn错误 1 非静态的字段、方法或属性“Radio_Test_GUI.Form_Test_Gui.comboBox_Port”要求对象引用 F:\VS_Project\Radio_Test_GUI 界面优化收发\Radio_Test_GUI\Radio_Test_GUI\Form1.cs 33 13 Radio_Test_GUIrnrn错误 2 非静态的字段、方法或属性“Radio_Test_GUI.Form_Test_Gui.comboBox_Baudrate”要求对象引用 F:\VS_Project\Radio_Test_GUI 界面优化收发\Radio_Test_GUI\Radio_Test_GUI\Form1.cs 34 13 Radio_Test_GUIrnrn求大神指点!
Python:访问私有成员变量
首先,Python 正常访问公有成员变量的方式为: class PrivateTest: name = &quot;private&quot; if __name__ == &quot;__main__&quot;: pt = PrivateTest() print(pt.name) 输出结果为: private Python 中将成员和方法私有化的方式是在成员名或者方法名前面加两个下划线,如下:...
反射访问私有成员变量
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Reflection; using System; public class NumberInfo {     private static  string  aaa =&quot;sdjfhkjsd&quot;; } public ...
C++引用私有成员变量
#include&amp;amp;lt;iostream&amp;amp;gt; using namespace std; class point { private: int x; int y; public: int getx()//如何引用私有类的成员 { return x; } void setx() { int x = this-&amp;amp;gt;x; } void input() { cin &amp;amp;...
修改私有成员变量
[code=C/C++]rn#include rnusing namespace std;rnrnclass Foornpublic:rn Foo(int data):member(data)rn ~Foo()rn int& getRef()return member;rnprivate:rn int member;rn;rnrnvoid main()rn Foo inst(10);rn cout << "init value of member is " << inst.getRef()<
类的私有成员变量访问
rn[code=C/C++]rnrnclass ilist_item;rnclass ilistrnrnpublic:rn void insert_end(int value);rn void concat(const ilist & il);rnprivate:rn rn ilist_item * _at_front;rn ilist_item * _at_end;rnrn;rnrnclass ilist_itemrnrnpublic:rn int value()return _value;rn ilist_item *next()return _next;rnprivate:rn int _value;rn ilist_item * _next;rn;rnrnvoid ilist::concat(const ilist & il)rnrn [color=#FF0000]ilist_item *ptr = il._at_front;[/color]rn while (ptr)rn rn insert_end(ptr->value());rn ptr = ptr->next();rn rnrnrn[/code]rnrn在ilist_item *ptr = il._at_front;中,ilist的对象il为什么可以直接访问私有成员_at_front啊?
保持对象成员私有
原型扩展通过以新的属性和方法来扩展一个已有的对象来进行,而不是通过类继承来扩展。 基于原型继承的优点:不必先创建类,然后再创建应用程序,开发者可以关
python类的普通成员变量和私有成员变量
一 环境准备 和Python语法快速入门rn二 Python CTypes访问C/C++动态链接库rn三 Python源码跨平台的编译rn四 Python的C/C++扩展库_模块、函数、类扩展rn五 Python的多线程GIL及在web中调用ffmpeg扩展示例rn六 Python虚拟机定制-使用c++调用pythonrn七 基于python_qt_ffmpeg的视频播放项目示例
java使用反射机制设置私有成员变量的值
package com.demo.test; import java.lang.reflect.Field; public class Demo { private static Field declaredField; public static void main(String[] args) throws Exception{ Class clazz = Student.cla...
Java反射机制修改私有成员变量的实现_Reflection
Java反射机制修改私有成员变量的实现_Reflection,普通方式无法修改私有成员变量的值,但通过反射机制可以实现。
java中反射操作私有成员变量
java中反射操作私有成员变量 反射private成员变量(字段) 反射private属性执行流程 1. 获取学生类字节码对象 2. 获取学生对象 3. 通过getDeclaredField方法获取私有字段 4. 通过setAccessible让jvm不检查权限 5. 通过set方法设置对象为具体的值 package com.it
java中私有成员变量的访问的问题
public class ModifierTest1rnrn public static void main( String[] args ) rn rn A a = new A();rn //System.out.println(a.s);rn a.f();rn rnrnrnclass Arnrn private int i;rn private String s;rn rn public A()rn rn i = 123;rn s = "hello";rn rn rn public void f()rn rn A a = new A();rn System.out.println(a.i + a.s );rn rnrn为啥f()中创建的对象能直接使用使用a.i和a.s,私有还能这么用?在main函数中这么做却不行?
Java之反射获取私有成员变量-yellowcong
获取到对象的私有字段Field后,然后设定 setAccessible 为true,然后调用字段的get方法,就可以获取到对象的数据了,同时也可以通过反射的方法获取字段的get和set方法来获取需要修改的字段
JAVA中的父类私有成员变量的继承问题
如果父类中属性为私有(private),那么能否被子类继承呢? 答案是不可以。 我们看如下简单代码 class Father { private String name; public void sayHi() { System.out.println("My name is " + this.name); } } class Son exten...
私有成员变量有问题吗?
我定义了一个类:rnclass CMyDlg: public CDialogrnrn public:rn CMyDlg();rnrn proected:rn virtual BOOL OnInitDialog();rnrn private:rn CString m_SArray[10];rn ......rnrnrnCMyDlg:CMyDlgrnrn m_SArray[0] = _T("HELLO");rn m_SArray[1] = _T("WORLD");rn m_SArray[2] = _T("GOOD");rn ......rn m_SArray[5] = _T("AFTERNOON");rn ......rnrnrn当这个数组定义在 private中时,CMyDlg的其他函数不能正常存取这个数组,特别是rnm_SArray[5]不能访问,在构造函数中可以访问到,但到了 OnInitDialog() 中,就开始访问不了了,数组其他元素可以访问,为什么,请较各位大侠。rnrn
关于访问私有成员变量的问题
import java.awt.*;rnimport java.awt.event.*;rnimport java.util.*;rnpublic class MyMouseAdapterrn public static void main(String args[]) rn new MyFrame("drawing...");rn rnrnrnclass MyFrame extends Frame rn ArrayList points = null;rn MyFrame(String s) rn super(s);rn points = new ArrayList(); rn setLayout(null);rn setBounds(300,300,400,300); rn this.setBackground(new Color(204,204,255));rn setVisible(true);rn this.addMouseListener(new Monitor());rn rn rn public void paint(Graphics g) rn Iterator i = points.iterator();rn while(i.hasNext())rn Point1 p = (Point1)i.next();rn g.setColor(Color.BLUE);rn g.fillOval((int)p.x,(int)p.y,10,10);rn rn rn rn public void addPoint(Point1 p)rn points.add(p);rn rnrnrnclass Monitor extends MouseAdapter rn public void mousePressed(MouseEvent e) rn MyFrame f = (MyFrame)e.getSource();rn f.addPoint(new Point1(e.getX(),e.getY()));rn f.repaint();rn rnrnrnclass Point1 extends Pointrnrn private static int x,y;rn Point1(int x,int y) rn this.x = x;rn this.y = y;rn rnrnrn由于在pOint中x,y是private的,不能访问,可是我设置成static之后还是不行,看哪个大侠能帮忙解决一下,我是新手,所以多多帮忙。。
内部类可以互访私有成员变量?
RT.rn一个内部类可以访问另一个内部类的私有成员变量?rn下面是源代码.直接看红字就可以rn注意他们是一个类内部的两个内部类.外面的类我就不帖出来了.rnrn不明白为什么可以在类udpRecvThread里面直接调用c.IP,c.udpPort(c是另一个内部类Client的引用).rnIP和udpPort都是private的啊rnrn知道的指点一下,谢谢rn顺便,散分rnrn[code=Java][/code]rn private class Client rn [color=#FF0000][b]private String IP;[/b][/color] rn [b][color=#FF0000]private int udpPort;[/color][/b] rn public Client(String IP, int udpPort) rn this.IP = IP;rn this.udpPort = udpPort;rn rn rnrn private class udpThread implements Runnable rn DatagramSocket ds = null;rn DatagramPacket dp = null;rn byte[] buf = new byte[1024];rn rn public void run() rn try rn ds = new DatagramSocket(UDP_PORT);rn catch (SocketException e) rn e.printStackTrace();rn rnSystem.out.println("UDPserver started at port:" + UDP_PORT);rn while(ds != null) rn dp = new DatagramPacket(buf, buf.length);rn try rn ds.receive(dp);rnSystem.out.println("a packet received.");rn for(int i=0; i
C++基础问题(私有成员变量)
#includernclass Studentrn private: rn int x=0,y=0; //为什么这样错误 int x,y; 这样就可以 如果想表达这样意思该怎么弄rn public:rn Student()rn x=1;rn y=1;rn rn Student(int a,int b)rn x=a;rn y=b;rn rn void get()rn cout<
反射修改私有成员变量例子
利用java反射机制修改类的私有成员的例子,如果需要了解反射机制的可以参考下。
用反射访问私有成员变量
用JAVA反射机制访问私有成员变量 1. PrivateTester.java [code=&quot;java&quot;]package com.test; public class PrivateTester { private String name=&quot;hello world&quot;; public String getName(){ return this.name; } ...
私有成员变量与共有属性问题
有如下类:rn--------------------------------------------------------------rnGrandFather.csrn--------------------------------------------------------------rn public class GrandFatherrn rn private int age;rn private string name;rn public GrandFather()rn rn rnrn public int Agern rn getrn rn return age;rn rn setrn rn age=value;rn rn rnrn public string Namern rn getrn rn return name;rn rn setrn rn name=value;rn rn rnrn public override string ToString()rn rn return String.Format("爷爷的名字是0,年龄是1",Name,Age);rn rn rnrn-------------------------------------------------------------------rnSon.csrn-------------------------------------------------------------------rn public class Son:GrandFatherrn rn public Son()rn rn rnrn public override string ToString()rn rn return String.Format("孙子的名字是0,年龄是1",Name,Age);rn rn rnrn------------------------------------------------------------------rnMainClass.csrn------------------------------------------------------------------rn public class MainClassrn rn [STAThread]rn public static void Main(string[] args)rn rn Son son=new Son();rn son.Age=20;rn son.Name="孙子";rn Console.WriteLine(son.ToString());rn Console.ReadLine();rn rn rnrn三个类的源代码如上,现有问题如下:rn在MainClass.cs给Son的实例的Name或者Age属性赋值的时候,最后都会导致age或者name值发生变化,而这个值是private的,Son不能访问GrandFather的私有成员,实际上程序不会报错,请给出解释。
外部如何访问私有成员变量???
私有的成员变量,在外部不能访问,但是可以通过反射技术访问。//创建一个Person类其有私有构造函数private Person(String Name) { System.out.println("Name is "+Name); }//在另一个类中 public void test() throws Exception { Class clazz=Clas
python类的假私有成员变量
#前言 Python的类并不使用关键字区分是私有成员和共有成员,但是为啥私有成员变量外面还是访问不到呢?粗糙的隐藏普通的python类class TT: def __init__(self,name): self.name=name self.privateMem=1t=TT('hah') print(t.privateMem)想都不用想会打印出1因为这个时
怎样取得抽象类的私有成员变量?
在派生类中怎样取的抽象父类的 私有成员变量进行操作?
什么时候类的成员变量设为私有
我想知道类的成员变量有什么作用什么时候用,作用范围与继承派生就不用说了(这个我知道)。难道用私有变量的作用仅仅是减小作用域,降低耦合度吗?求高手解答。
公有派生类中的私有成员变量
封装:是指将事物 的特征和行为抽象为一个类。封装实际上是对事物的抽象过程,依据实际应用,按照主观意识将事物的特征和行为描述为类rn继承:是指可以从一个类派生一个子类,子类通过继承具有了父类的特征和行为,并且可以在子类中添加自己的特征和行为rn多态:是指对于相同的调用或操作,作用于不同的对象,而导致其行为也不同,它增强了软件的灵活性和重要性rn有问题咨询老师微信,微信号:mikeshizhanbiaorn
如何保持oracle中的socket连接???
在我的项目中需要oracle数据库与web服务器进行网络通信,我是这样实现的,每当新数据插入后通过socket将其发送到web服务器上。这样做的问题是,每次触发器触发时都会new一个socket,结束后socket被销毁,这样很低效,因此我专门写了一个socket初始化函数,每次web服务器重启的时候就需要在oracle中执行一遍该函数,当然项目在实际工作过程中不会频繁重启,但是这毕竟不是个完美的解决方案,还有没有更好的方法??rn
socket连接如何保持端口不变
VB环境,作为客户端给指定IP和端口发数据。结果是每发一次,端口增加一次。而服务端正是通过客户端的IP和端口来验证身份。一般来说一个客户端程序连接服务端时端口是随机产生的,但随后一直保持连接状态,且端口也不变。照我这用法,一秒就算只发10个包,一小时得用掉多少端口?rn请给个客户端连接的示例代码,最好是用socket控件组的,同一个客户连接,能保持端口不持续增加就行。
相关热词 c# 去空格去转义符 c#用户登录窗体代码 c# 流 c# linux 可视化 c# mvc 返回图片 c# 像素空间 c# 日期 最后一天 c#字典序排序 c# 截屏取色 c#中的哪些属于托管机制