Hi,
I am going to write a client/server based application with for Linux in C++. I
am programming C++ on purpose.
There are many tutorials out there how to create a new socket, and receive and
send data.
The only thing those tutorials do not cover ist how to handle the data which
arrives over the NIC. Do I have do implement my own kind of networkprotocol
specific to my application? This would be very dangerous, as there can be many
structural failures in a protocol.
My application will be XML based - at least the data I am going to send over the
network. Are there some (open source) technolgies, which help me with this
basic task (which is sending arbitray data - in my case XML - from one machine
to another)
in addition: what do I have to take care for if I want to avoid any security
issues? The data received by my application can be anyting including malicious
machine code. How do I handle such issues ?
thanks Boris 13 1343
Boris Glawe wrote: Hi,
I am going to write a client/server based application with for Linux in C++. I am programming C++ on purpose.
A *little* OT? How about completely OT? There is no way to do any of
this in ISO standard C++.
Please find a newsgroup dedicated to your platform.
Brian Rodenborn
Default User wrote: Boris Glawe wrote:
Hi,
I am going to write a client/server based application with for Linux in C++. I am programming C++ on purpose.
A *little* OT? How about completely OT? There is no way to do any of this in ISO standard C++.
How is it possible then that there are millions of C++ programs doing a lot of
networking?
Please find a newsgroup dedicated to your platform.
I've actually posted in comp.protocols.misc and they've sent me to a c++ newsgroup.
You can avoid further traffic if you give me a hint, where to find a hint or an
answer !
Boris Glawe wrote: How is it possible then that there are millions of C++ programs doing a lot of networking?
Because most programs are not strictly conforming (that is, fully
portable). They rely on platform-dependent features to do things that
can't be done in standard C++. If they want to be portable to several
platforms, they create a layer of abstraction which compiles differently
on different platforms. To add these features to the standard would put
a burden on those implementing C++ compilers and libraries (and their
job is tough enough already.)
You can avoid further traffic if you give me a hint, where to find a hint or an answer !
You're attempting to blackmail us. That's funny. Try again when you're a
bit older.
--
Derrick Coetzee
I grant this newsgroup posting into the public domain. I disclaim all
express or implied warranty and all liability. I am not a professional.
Boris Glawe wrote: Default User wrote: Boris Glawe wrote:
Hi,
I am going to write a client/server based application with for Linux in C++. I am programming C++ on purpose.
A little OT? How about completely OT? There is no way to do any of this in ISO standard C++.
How is it possible then that there are millions of C++ programs doing a lot of networking?
They use nonstandard platform extensions.
Please follow usenet courtesies by finding and reading the group FAQ,
plus reviewing at least a couple of weeks worth of messages to see what
topics are discussed.
Brian Rodenborn You can avoid further traffic if you give me a hint, where to find a hint or an answer !
You're attempting to blackmail us. That's funny. Try again when you're a bit older.
I don't know what "blackmailing" is!
Isn't it justified to ask a question, though it's OT when you don't know where
to start with your problem? I am asking you as programmers how one usually sends
data over a network in a way that the networking process is both usefull and
secure. This is what many applications do. But I don't know where to begin. And
though the solution might be platform dependent there might be helpfull answers.
If you ask a taxi driver, where the main station is, you usually won't get the
answer "this is off topic". I usually help guys in my situation - with content
and links. And yes, I have googled before posting !
> They use nonstandard platform extensions.
Please follow usenet courtesies by finding and reading the group FAQ, plus reviewing at least a couple of weeks worth of messages to see what topics are discussed.
Usually people don't call themself "default user" according to your usenet
courtesis.
Where can I get help?
Brian Rodenborn
Boris Glawe wrote: They use nonstandard platform extensions.
Please follow usenet courtesies by finding and reading the group FAQ, plus reviewing at least a couple of weeks worth of messages to see what topics are discussed. Usually people don't call themself "default user" according to your usenet courtesis.
Why? It's as good as any other handle. Should I change it to Boris
Glawe?
Where can I get help?
How would I know? It's your platform, do a bit of basic research. Use http://groups.google.com to search on some key terms. If it happens
that you are using a UNIX system, then try comp.unix.programmer. If
Windows, then I never remember those MS group names, so I can't help
there.
Brian Rodenborn
Boris,
On Wed, 15 Sep 2004 18:13:25 UTC, Boris Glawe <bo***@boris-glawe.de> wrote: Hi,
I am going to write a client/server based application with for Linux in C++. I am programming C++ on purpose.
Good for you. I hate it when people do it by accident.
Sorry, couldn't resist. I'm still eating breakfast. I'll ty to be more
serious now.
There are many tutorials out there how to create a new socket, and receive and send data.
Yes, these are the basis for communications protocols with IP (including
TCP and UDP). Each OS has its own interface to the IP Stack. That is where
others worry about the C++ Standard not covering this.
You've found one or more examples so I'll go from there.
The only thing those tutorials do not cover ist how to handle the data which arrives over the NIC. Do I have do implement my own kind of networkprotocol specific to my application? This would be very dangerous, as there can be many structural failures in a protocol.
You are likely not wanting to handle communications at the NIC or IP level
or any other level very low in the protocol stacks. For XML conversations
you will probably use TCP sockets. If you also want to handle such XML
communications similar to HTTP requests that puts further restrictions on
what port your server socket is tied to.
Try looking for one of the *tcp-ip forums. Several of the Unix/linux
forums may also be useful if you need more details.
My application will be XML based - at least the data I am going to send over the network. Are there some (open source) technolgies, which help me with this basic task (which is sending arbitray data - in my case XML - from one machine to another)
There are tools that provide the entire package of communicatons plus XML.
Depending on your needs, you may want to write generic TCP/IP client-servers
and then pass the messages on you your XML processors. Again, this depends
on what you want to do. Simple XML over HTTP put-get conversations are
rather limited in capability (IMO) but appear to be the norm for many such
conversations. If that fits your needs, go for it. For more complicated
XML conversations, like multiple XML packets in a single direction, you
will need to handle a bit more of each protocol level.
in addition: what do I have to take care for if I want to avoid any security issues? The data received by my application can be anyting including malicious machine code. How do I handle such issues ?
Always validate your data and that it makes sense. Avoid common pitfalls
such as allowing buffer overruns to corrupt your data.
thanks Boris
David
Boris Glawe wrote: If you ask a taxi driver, where the main station is, you usually won't get the answer "this is off topic".
But that probably is the answer you will get if you ask an auto mechanic.
--
Mike Smith How would I know? It's your platform, do a bit of basic research. Use http://groups.google.com to search on some key terms. If it happens that you are using a UNIX system, then try comp.unix.programmer. If Windows, then I never remember those MS group names, so I can't help there.
news:comp.os.ms-windows.programmer.win32 might be one place to start
although I'm sure there are Windows groups devoted to networking as well.
john
John Harrison wrote: How would I know? It's your platform, do a bit of basic research. Use http://groups.google.com to search on some key terms. If it happens that you are using a UNIX system, then try comp.unix.programmer. If Windows, then I never remember those MS group names, so I can't help there.
news:comp.os.ms-windows.programmer.win32 might be one place to start although I'm sure there are Windows groups devoted to networking as well.
Rereading his original message via someone else's quote, I see that he
wanted a Linux solution. Therefore, c.u.p. or a Linux newsgroup would
be a good starting point.
Brian Rodenborn Rereading his original message via someone else's quote, I see that he wanted a Linux solution. Therefore, c.u.p. or a Linux newsgroup would be a good starting point.
Thanks !
Ok, thanks I'll follow your hints !
greets Boris This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Alex Ang |
last post by:
I have written the following VBScript program. It is stored into a
file "map_drive.vbs". It successfully mapped to a network drive
\\server1\data.
Dim WshNetwork
Set WshNetwork =...
|
by: mch2k2 |
last post by:
Hello All
I have just started working on Pyhton.
I need urgent help regarding Python Network Programming.
I want the elctronic version of the Book: Foundations of Python
Network programming by...
|
by: Jay |
last post by:
Hi,
I implemeneted an FTP client and server long time back using Java. I
found sockets porgramming in java quite useful and easy to handle. I
now wanted to implement a similar program using C++....
|
by: John Walton |
last post by:
Hello, everyone. I just began school, and they
already assigned us science fair. Since I'm in 8th
grade, I get to do demonstrations for our projects.
I'm probably going to demonstrate Python's...
|
by: Wayne M J |
last post by:
I have "Professional .Net Network Programming" and "Network Programming for
MS Windows 2nd Ed", but I find both of these to be lacking in what I am
looking for.
Has there been any books printed...
|
by: Terry |
last post by:
Could someone please suggest me a good book to learn
network programming.
I have been programming in C#/VB.NET/VB 6.0 and have
also used a bit of C++ (not MFC/ATL/COM)
I am a total novice when...
|
by: Eric |
last post by:
Does anyone know of any GOOD network programming book(s) that are C# based,
as well as any online tutorials and forums on network programming?
Thanks
|
by: ppuniversal |
last post by:
Hello,
Can someone tell a good Tutorial on Network Programming in C++, except Beej's Guide and Vijay Mukhi's tutorials.
I want to make a Client Server application in C++ which will involve...
|
by: Mex |
last post by:
Hi,
I'm looking for a good book for beginners about Network Programming.
Besides Stevens' book, I would like something specific for C++
language. Any suggestions?
Thanks in advantage,
Massimo
|
by: Charles Arthur |
last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
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,...
|
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...
|
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,...
|
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...
|
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,...
|
by: isladogs |
last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM).
In this session, we are pleased to welcome a new...
| |