473,671 Members | 2,326 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Ask for help about the structure

Can anyone help me to find out what are the structure of 'DataTable' ?
Does loop the 14 layers or the 800*800 array first?
(NumX=NumY=800)
gridde and WriteHeader are two structures
Thank you~~~ :)
void WriteCloudStats (GRIDDEF *griddef, char *StatsDir, int month, int
year, short ****DataTable)
{

FILE *fptr[2];
int i,j,k,l;
char filename[200],command[250],monstr[5];
GRIDDEF header;

if(month < 10)
sprintf(monstr, "0%d",month );
else
sprintf(monstr, "%d",month) ;

sprintf(filenam e,"%s/CldYearlyStats_ %d_
%d.dat",StatsDi r,month,year);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[0] = fopen(filename, "w");
sprintf(filenam e,"%s/CldTotalStats_% d.dat",StatsDir ,month);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[1] = fopen(filename, "w");

for(i=0; i<2; i++){
if(fptr[i] != NULL){
WriteHeader(gri ddef,fptr[i]);
for(j=0; j<14; j++)fwrite(
&DataTable[i][j][0][0],
sizeof(short),
griddef->NumX*griddef->NumY,
fptr[i]
);
printf("Data is %d \n",&DataTabl e[i][j][0][0]);
fclose(fptr[i]);
}
}
}
Jul 18 '08 #1
10 1295
xiao <li*********@gm ail.comwrote:
Can anyone help me to find out what are the structure of 'DataTable' ?
Does loop the 14 layers or the 800*800 array first?
(NumX=NumY=800)
gridde and WriteHeader are two structures
Since the information you give is rather incomplete and not always
consistent all of the following is not more than guesswork...
void WriteCloudStats (GRIDDEF *griddef, char *StatsDir, int month, int
year, short ****DataTable)
{
FILE *fptr[2];
int i,j,k,l;
'k' and 'l' are never used.
char filename[200],command[250],monstr[5];
GRIDDEF header;
'header' is never used
if(month < 10)
sprintf(monstr, "0%d",month );
else
sprintf(monstr, "%d",month) ;
This could be simplfied to a single line of

sprintf( monstr, "%02d", month );

sprintf(filenam e,"%s/CldYearlyStats_ %d_%d.dat",Stat sDir,month,year );
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[0] = fopen(filename, "w");
sprintf(filenam e,"%s/CldTotalStats_% d.dat",StatsDir ,month);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[1] = fopen(filename, "w");
for(i=0; i<2; i++){
if(fptr[i] != NULL){
WriteHeader(gri ddef,fptr[i]);
This probably writes whatever 'griddef' points to to the file
for(j=0; j<14; j++)fwrite(
&DataTable[i][j][0][0],
sizeof(short),
griddef->NumX*griddef->NumY,
fptr[i]
);
This obviously is supposed to write 14 times 'griddef->NumX *
griddef->NumY * sizeof(short)' bytes to the file, with the data
comming from memory starting at address '&DataTable[i][j][0][0]'
while 'j' is running from 0 through 13.

So you first get 'griddef' written into the file, then 14 repe-
titions of 800x800 data points.

But I am a bit worried if the compiler will like that since it
doesn't have any information that DataTable is a 4-domensional
array and about the index ranges. So it won't be able to calcu-
late where exactly DataTable[i][j][0][0] is. I guess you will
have to change the function to

void WriteCloudStats ( GRIDDEF * griddef,
char *StatsDir,
int month,
int year,
short DataTable[ 2 ][ 14 ][ 800 ][ 800 ] )

to allow the compiler to figure out where the data are. Or you have
to calculate the address yourself with

for ( j =0; j < 14; j++ )
fwrite( DataTable + ( 14 * i + j ) * griddef->NumX * griddef->NumY
sizeof( short ),
griddef->NumX * griddef->NumY,
fptr[ i ] );

while using

void WriteCloudStats ( GRIDDEF * griddef,
char *StatsDir,
int month,
int year,
short *DataTable )

That also has the advantage that it also works for other grid sizes
than 800x800.

The inner write loop could then further simplified by getting rid
of it altogether and writing all data in a single call

fwrite( DataTable + 14 * i * griddef->NumX * griddef->NumY
sizeof( short ),
14 * griddef->NumX * griddef->NumY,
fptr[ i ] );

Regards, Jens
--
\ Jens Thoms Toerring ___ jt@toerring.de
\______________ ____________ http://toerring.de
Jul 18 '08 #2
xiao wrote:
Can anyone help me to find out what are the structure of 'DataTable' ?
Does loop the 14 layers or the 800*800 array first?
(NumX=NumY=800)
gridde and WriteHeader are two structures
Thank you~~~ :)
void WriteCloudStats (GRIDDEF *griddef, char *StatsDir, int month, int
year, short ****DataTable)
Bad ASCII art:

short**** short*** short** short* short

DataTable -[0]
[1] -[1][0]
... [1][1] -[1][1][0]
... [1][1][1] -[1][1][1][0]
... [1][1][1][1]
...
{

FILE *fptr[2];
int i,j,k,l;
char filename[200],command[250],monstr[5];
GRIDDEF header;

if(month < 10)
sprintf(monstr, "0%d",month );
else
sprintf(monstr, "%d",month) ;
`sprintf(monstr , "%02d", month);' is easier. (Easier still:
leave it out altogether, since `monstr' is never used.)
sprintf(filenam e,"%s/CldYearlyStats_ %d_
%d.dat",StatsDi r,month,year);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[0] = fopen(filename, "w");
sprintf(filenam e,"%s/CldTotalStats_% d.dat",StatsDir ,month);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[1] = fopen(filename, "w");
You'd better hope that nothing goes wrong with either of
the cp commands, or you could wipe out the old data ... Since
you don't actually need the original copies (you overwrite them
immediately), why not just use the rename() function to change
the existing files' names? The benefit is that you can check
whether rename() succeeded or failed; there's no portable way
to do so with system().
for(i=0; i<2; i++){
if(fptr[i] != NULL){
WriteHeader(gri ddef,fptr[i]);
for(j=0; j<14; j++)fwrite(
&DataTable[i][j][0][0],
sizeof(short),
griddef->NumX*griddef->NumY,
fptr[i]
);
This is probably wrong, because it appears to assume that
the thing pointed to by DataTable is a four-dimensional array
in contiguous storage locations. (At least, it seems to assume
contiguity in the rightmost two dimensions; hard to tell for
sure without knowing what NumX and NumY signify.)

Arrays and pointers are not the same, even though there is
a good deal of common ground. I recommend that you study Section 6
of the comp.lang.c Frequently Asked Questions (FAQ) list at
<http://www.c-faq.com/>, and then return here if you still have
questions.

--
Er*********@sun .com
Jul 18 '08 #3
>
* * *if(month < 10)
* * * * sprintf(monstr, "0%d",month );
* * *else
* * * * sprintf(monstr, "%d",month) ;
How about:

sprintf( monstr, "%02d", month );

Jul 18 '08 #4
On Jul 18, 12:04 pm, William Pursell <bill.purs...@g mail.comwrote:
if(month < 10)
sprintf(monstr, "0%d",month );
else
sprintf(monstr, "%d",month) ;

How about:

sprintf( monstr, "%02d", month );
Thank you guys ~ Actually i compiled and run the program and it
generated a binary file that is 17920168 (800*800*14*2 bytes + 168
bytes header)
And I am trying to read the data stored in the binary file using IDL
and I am nit sure whether i should write like this intarr(14,800,8 00)
or intarr(800,800. 14) But neither of them show a right image.......
Sign......
Jul 18 '08 #5
On Jul 18, 10:04*am, Eric Sosman <Eric.Sos...@su n.comwrote:
xiao wrote:
Can anyone help me to find out what are the structure of 'DataTable' ?
Does loop the 14 layers or the 800*800 array first?
(NumX=NumY=800)
gridde and WriteHeader are two structures
Thank you~~~ :)
void WriteCloudStats (GRIDDEF *griddef, char *StatsDir, int month, int
year, short ****DataTable)

* * *Bad ASCII art:

* * * * short**** *short*** *short** * *short* * * * short

* * * * DataTable -[0]
* * * * * * * * * * *[1] -[1][0]
* * * * * * * * * * *... * *[1][1] -[1][1][0]
* * * * * * * * * * * * * * * ... * * [1][1][1] -[1][1][1][0]
* * * * * * * * * * * * * * * * * * * * *... * * * [1][1][1][1]
* * * * * * * * * * * * * * * * * * * * * * * * * * * * ...
{
* * *FILE *fptr[2];
* * *int i,j,k,l;
* * *char filename[200],command[250],monstr[5];
* * *GRIDDEF header;
* * *if(month < 10)
* * * * sprintf(monstr, "0%d",month );
* * *else
* * * * sprintf(monstr, "%d",month) ;

* * *`sprintf(monst r, "%02d", month);' is easier. *(Easier still:
leave it out altogether, since `monstr' is never used.)
* * *sprintf(filena me,"%s/CldYearlyStats_ %d_
%d.dat",StatsDi r,month,year);
* * *sprintf(comman d,"/bin/cp %s %s.arc",filenam e,filename);
* * *system(command );
* * *fptr[0] = fopen(filename, "w");
* * *sprintf(filena me,"%s/CldTotalStats_% d.dat",StatsDir ,month);
* * *sprintf(comman d,"/bin/cp %s %s.arc",filenam e,filename);
* * *system(command );
* * *fptr[1] = fopen(filename, "w");

* * *You'd better hope that nothing goes wrong with either of
the cp commands, or you could wipe out the old data ... *Since
you don't actually need the original copies (you overwrite them
immediately), why not just use the rename() function to change
the existing files' names? *The benefit is that you can check
whether rename() succeeded or failed; there's no portable way
to do so with system().
Maybe I'm not looking at it close enough, but how do you figure that a
failure with either cp could possibly wipe out the old data?
Jul 18 '08 #6
Chad wrote:
On Jul 18, 10:04 am, Eric Sosman <Eric.Sos...@su n.comwrote:
>xiao wrote:
>>[...]
sprintf(filenam e,"%s/CldYearlyStats_ %d_
%d.dat",Stats Dir,month,year) ;
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[0] = fopen(filename, "w");
sprintf(filenam e,"%s/CldTotalStats_% d.dat",StatsDir ,month);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[1] = fopen(filename, "w");
You'd better hope that nothing goes wrong with either of
the cp commands, or you could wipe out the old data ... Since
you don't actually need the original copies (you overwrite them
immediately) , why not just use the rename() function to change
the existing files' names? The benefit is that you can check
whether rename() succeeded or failed; there's no portable way
to do so with system().
Maybe I'm not looking at it close enough, but how do you figure that a
failure with either cp could possibly wipe out the old data?
If "cp foo foo.arc" fails, the original data in "foo" has
not been copied, and "foo" holds the only intact version of it.
If fopen("foo", "w") then succeeds, it truncates "foo" to zero
length and thus loses the only copy of the original data.

Since the program is going to write a new "foo" this might not
be a tragedy -- but I assume the O.P. placed some value on the old
contents, or he wouldn't have bothered with the "cp" steps.

--
Er*********@sun .com
Jul 18 '08 #7
On Jul 18, 2:26*pm, Eric Sosman <Eric.Sos...@su n.comwrote:
Chad wrote:
On Jul 18, 10:04 am, Eric Sosman <Eric.Sos...@su n.comwrote:
xiao wrote:
[...]
* * *sprintf(filena me,"%s/CldYearlyStats_ %d_
%d.dat",StatsD ir,month,year);
* * *sprintf(comman d,"/bin/cp %s %s.arc",filenam e,filename);
* * *system(command );
* * *fptr[0] = fopen(filename, "w");
* * *sprintf(filena me,"%s/CldTotalStats_% d.dat",StatsDir ,month);
* * *sprintf(comman d,"/bin/cp %s %s.arc",filenam e,filename);
* * *system(command );
* * *fptr[1] = fopen(filename, "w");
* * *You'd better hope that nothing goes wrong with either of
the cp commands, or you could wipe out the old data ... *Since
you don't actually need the original copies (you overwrite them
immediately), why not just use the rename() function to change
the existing files' names? *The benefit is that you can check
whether rename() succeeded or failed; there's no portable way
to do so with system().
Maybe I'm not looking at it close enough, but how do you figure that a
failure with either cp could possibly wipe out the old data?

* * *If "cp foo foo.arc" fails, the original data in "foo" has
not been copied, and "foo" holds the only intact version of it.
If fopen("foo", "w") then succeeds, it truncates "foo" to zero
length and thus loses the only copy of the original data.

* * *Since the program is going to write a new "foo" this might not
be a tragedy -- but I assume the O.P. placed some value on the old
contents, or he wouldn't have bothered with the "cp" steps.

--
Eric.Sos...@sun .com- Hide quoted text -

- Show quoted text -
Maybe I need to read the man pages when I get home from work. Right
now I'm having a hard time picturing how fopen can possibly hose foo
in this case.

Jul 18 '08 #8
Chad wrote:
On Jul 18, 2:26 pm, Eric Sosman <Eric.Sos...@su n.comwrote:
>Chad wrote:
>>On Jul 18, 10:04 am, Eric Sosman <Eric.Sos...@su n.comwrote:
xiao wrote:
[...]
sprintf(filenam e,"%s/CldYearlyStats_ %d_
%d.dat",Sta tsDir,month,yea r);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[0] = fopen(filename, "w");
sprintf(filenam e,"%s/CldTotalStats_% d.dat",StatsDir ,month);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[1] = fopen(filename, "w");
You'd better hope that nothing goes wrong with either of
the cp commands, or you could wipe out the old data ... Since
you don't actually need the original copies (you overwrite them
immediately) , why not just use the rename() function to change
the existing files' names? The benefit is that you can check
whether rename() succeeded or failed; there's no portable way
to do so with system().
Maybe I'm not looking at it close enough, but how do you figure that a
failure with either cp could possibly wipe out the old data?
If "cp foo foo.arc" fails, the original data in "foo" has
not been copied, and "foo" holds the only intact version of it.
If fopen("foo", "w") then succeeds, it truncates "foo" to zero
length and thus loses the only copy of the original data.

Since the program is going to write a new "foo" this might not
be a tragedy -- but I assume the O.P. placed some value on the old
contents, or he wouldn't have bothered with the "cp" steps.
Maybe I need to read the man pages when I get home from work. Right
now I'm having a hard time picturing how fopen can possibly hose foo
in this case.
In "w" mode, fopen() is defined to "truncate to zero length
or create text file for writing" (7.19.5.3p3). Either way, the
file is empty immediately after fopen() succeeds, and any data
that it might have contained beforehand is gone.

(It occurs to me that the O.P. ought to be using "wb" mode
instead of "w", since he's writing binary data rather than text
lines to the streams. Since he's using "/bin/cp" to make the
backup copies, though, he's probably using a POSIX system and
there's no distinction between text and binary streams. Still,
for cleanliness' sake it wouldn't hurt.)

--
Er*********@sun .com

Jul 18 '08 #9
On 18 Jul 2008 16:43:45 GMT, jt@toerring.de (Jens Thoms Toerring)
wrote:
>xiao <li*********@gm ail.comwrote:
>Can anyone help me to find out what are the structure of 'DataTable' ?
Does loop the 14 layers or the 800*800 array first?
(NumX=NumY=800 )
gridde and WriteHeader are two structures

Since the information you give is rather incomplete and not always
consistent all of the following is not more than guesswork...
>void WriteCloudStats (GRIDDEF *griddef, char *StatsDir, int month, int
year, short ****DataTable)
{
FILE *fptr[2];
int i,j,k,l;

'k' and 'l' are never used.
> char filename[200],command[250],monstr[5];
GRIDDEF header;

'header' is never used
> if(month < 10)
sprintf(monstr, "0%d",month );
else
sprintf(monstr, "%d",month) ;

This could be simplfied to a single line of

sprintf( monstr, "%02d", month );

> sprintf(filenam e,"%s/CldYearlyStats_ %d_%d.dat",Stat sDir,month,year );
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[0] = fopen(filename, "w");
sprintf(filenam e,"%s/CldTotalStats_% d.dat",StatsDir ,month);
sprintf(command ,"/bin/cp %s %s.arc",filenam e,filename);
system(command) ;
fptr[1] = fopen(filename, "w");
> for(i=0; i<2; i++){
if(fptr[i] != NULL){
WriteHeader(gri ddef,fptr[i]);

This probably writes whatever 'griddef' points to to the file
> for(j=0; j<14; j++)fwrite(
&DataTable[i][j][0][0],
sizeof(short),
griddef->NumX*griddef->NumY,
fptr[i]
);

This obviously is supposed to write 14 times 'griddef->NumX *
griddef->NumY * sizeof(short)' bytes to the file, with the data
comming from memory starting at address '&DataTable[i][j][0][0]'
while 'j' is running from 0 through 13.

So you first get 'griddef' written into the file, then 14 repe-
titions of 800x800 data points.

But I am a bit worried if the compiler will like that since it
doesn't have any information that DataTable is a 4-domensional
array and about the index ranges. So it won't be able to calcu-
Actually, from the code presented we are guaranteed that DataTable is
in fact not an array. It must be a pointer to pointer to pointer to
pointer and is apparently simulating a 4D array.
>late where exactly DataTable[i][j][0][0] is. I guess you will
have to change the function to

void WriteCloudStats ( GRIDDEF * griddef,
char *StatsDir,
int month,
int year,
short DataTable[ 2 ][ 14 ][ 800 ][ 800 ] )

to allow the compiler to figure out where the data are. Or you have
to calculate the address yourself with

for ( j =0; j < 14; j++ )
fwrite( DataTable + ( 14 * i + j ) * griddef->NumX * griddef->NumY
sizeof( short ),
griddef->NumX * griddef->NumY,
fptr[ i ] );

while using

void WriteCloudStats ( GRIDDEF * griddef,
char *StatsDir,
int month,
int year,
short *DataTable )

That also has the advantage that it also works for other grid sizes
than 800x800.

The inner write loop could then further simplified by getting rid
of it altogether and writing all data in a single call

fwrite( DataTable + 14 * i * griddef->NumX * griddef->NumY
sizeof( short ),
14 * griddef->NumX * griddef->NumY,
fptr[ i ] );

Regards, Jens

Remove del for email
Jul 19 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

4
2748
by: PHPkemon | last post by:
Hi there, A few weeks ago I made a post and got an answer which seemed very logical. Here's part of the post: PHPkemon wrote: > I think I've figured out how to do the main things like storing products in
0
303
by: Dale McGorman | last post by:
The following is some code that I am trying to bring over from VB 6.0, that I have working there. I am trying to get to where I can talk to a USB device. I am stuck on how to correctly pass params to the API call SetupDiGetDeviceInterfaceDetail() I can get it to actully not fail, and it actully tells me that it returned 87 bytes which is correct, but it never fills my structure of DeviceInterfaceDetail, and of course return value is a failure...
1
3652
by: Tjerk Wolterink | last post by:
I have an schema, like this one: <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:x="http://www.wolterinkwebdesign.com/xml/model" xmlns="http://www.wolterinkwebdesign.com/xml/structure" targetNamespace="http://www.wolterinkwebdesign.com/xml/structure" version="1.0"> <xsd:element name="structure">
13
3702
by: Chua Wen Ching | last post by:
Hi there, I saw this article here in vb.net. http://www.error-bank.com/microsoft.public.dotnet.languages.vb.1/148992_Thread.aspx and http://www.opennetcf.org/forums/post.asp?method=ReplyQuote&REPLY_ID=3922&TOPIC_ID=2224&FORUM_ID=35
18
3350
by: James Radke | last post by:
Hello, We are currently using a user DLL that when working in VB 6.0 has a user defined type as a parameter. Now we are trying to use the same DLL from a vb.net application and are having some problems getting it to work and we don't know why. Basically the function is accepting the parameters, and then returning an error and never performing the update.
5
2311
by: SStory | last post by:
Hi all, I really needed to get the icons associated with each file that I want to show in a listview. I used the follow modified code sniplets found on the internet. I have left in commented code for anyone else who may be looking to do the same.
2
1809
by: leo2100 | last post by:
Hi, I need help with this program. The program is supposed to take a text file and identify the words in it, then it should print them and count how many times a word is repeated. At first main called the function wordcount, and then the function did everything including printing out the results. That worked. Now I want to make the function return an array of pointers to struct palabra so the calling function can manage the data as it...
8
2737
by: skumar434 | last post by:
i need to store the data from a data base in to structure .............the problem is like this ....suppose there is a data base which stores the sequence no and item type etc ...but i need only the sequence nos and it should be such that i can access it through the structure .plz help me .
4
2539
by: =?Utf-8?B?UHVjY2E=?= | last post by:
The function that I'm trying to call through DLLImport has a parameter that has a C code's vector's Itrator to a structure. I Have marshalled the structure in C# but how do I do the C type vector's Iterator in C#? The problem is in the next line and the rest of the code is just additional information on what I'm doing. Thanks. CUnityDS.DE_ERRORS errcode = CUnityDS.LibWrap.EncodeAsnUser(ref blob, userContextData); //In & out...
12
9755
by: Justin | last post by:
Ok, I give up. I can't seem to construct a decent (productive) way of sorting my arraylist. I have a structure of two elements: Structure TabStructure Dim TabName As String Dim FullFilePath As String End Structure
0
8472
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8390
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can effortlessly switch the default language on Windows 10 without reinstalling. I'll walk you through it. First, let's disable language synchronization. With a Microsoft account, language settings sync across devices. To prevent any complications,...
0
8909
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8819
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
0
7428
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing, and deployment—without human intervention. Imagine an AI that can take a project description, break it down, write the code, debug it, and then launch it, all on its own.... Now, this would greatly impact the work of software developers. The idea...
0
4221
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2806
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
2
2048
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
2
1801
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.