473,406 Members | 2,343 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,406 software developers and data experts.

[a litle OT] network programming

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
Jul 22 '05 #1
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

Jul 22 '05 #2
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 !
Jul 22 '05 #3
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.
Jul 22 '05 #4
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
Jul 22 '05 #5
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 !
Jul 22 '05 #6
>
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

Jul 22 '05 #7
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

Jul 22 '05 #8
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
Jul 22 '05 #9
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
Jul 22 '05 #10

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
Jul 22 '05 #11
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
Jul 22 '05 #12

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 !
Jul 22 '05 #13
Ok, thanks I'll follow your hints !

greets Boris
Jul 22 '05 #14

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

Similar topics

8
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 =...
1
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...
3
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++....
6
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...
4
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...
5
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...
6
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
2
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...
9
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
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
BarryA
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...
1
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...
0
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,...
0
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...
0
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,...
0
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...
0
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,...
0
isladogs
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...

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.