C :: Hybrid Peer To Peer Implementation Difficulties
Feb 21, 2013
I'm trying to realize a hybrid peer to peer network into practice.While I do have theoretical knowledge about this matter, I lack practical knowledge. The solutions I thought of all feel like hacks to me, so I present this issue in order to receive feedback.Consider the given network-model below:
We thus have a set of clients (Bob, Alice, Frank) and a Server singleton.Assume that in the initial state, Server has no knowledge of the clients (their IP might chance),while all the clients do know the Server's IP (as it is static). Further we assumethe usage of IPv4.
In order for arbitrary client to discover other clients a query must occur to the server. This is straight-forward.For clients to be able to listen to eachother, a listening port is used, say 6700.Now for the two problems, and the solutions I thought of:
1. Intra-subnet communication Bob wants to communicate with Frank. As we are past the initialisation stage, all clients know eachother's IP addresses. The listening ports are known aswel (6700). (!!!)However as both clients are behind a router, NAT will most likely assign a different port.How is this port of the NAT table discovered?
My solution:Since all clients perform a query to the main server, the main server will receive a structure with ip-address and port to send a message back to. Assuming the client does not close the socket, this port will always be available for receiving packets, even from other clients?
I am aware TCP uses sequence numbers, and the receiving client might expect a certain number and not accept packets from other clients all together...
2. Inter-subnet communication Bob wants to communicate with Alice. Assume the issues of (1) are resolved, and NAT maps Alice's listening port of 6700 (internal) to 55555(external). Is Bob able to send a packet to 142.128.1.100:55555 and expect it to arrive at Alice (assuming reliable packet transfer)?
View 2 Replies
ADVERTISEMENT
Sep 24, 2012
I need to be able to publish data between multiple machines at remote locations. I have been able to send data between two machines on a network in the same room. However, how to begin with resolving IPs for machines on other networks that are miles away etc. I would assume the application would need to LISTEN & PUBLISH in order to achieve this?
I have also googled this, and can only seem to find C# examples, and they seem to be for data between remote computers on the same network... What I need is to be able to find some guidance on sending data between me and someone who I previously had no knowledge of. I know this must be possible due to the fact that p-2-p chat clients exist, and that p-2-p file sharing exists.
View 1 Replies
View Related
Apr 2, 2013
I am trying to write a program that creates a hybrid image I've hit a roadblock early on my code throws up an unhandled exception I cant find where it goes wrong I need a fresh perspective on this. Here is my code so far
#include <iostream>
#include <cv.h>
#include <highgui.h>
#include <stdio.h>
using namespace cv;
Point P11, P12;
Point P21, P22;
[Code] .....
View 5 Replies
View Related
Aug 18, 2013
I have to develop minimalistic implementation of RSA algorithm in C for an embedded device.
I'm doing that for two days but I have run into a problem. The N modulus is the limitation for the maximum message value to be encrypted with RSA.
For example theoretically RSA-1024 can encrypt/decrypt messages 1024 bits long but I still cannot understand how to choose p and q values to produce N == pow(2, 1024).
Is it possible to encrypt/decrypt 1024 bits long messages in practice if the N < pow(2, 1024)?
So far I'm getting the following results
Code:
Encrypting with RSA
d=15689981, e=21, n=16484947
In=16484942, Encrypted= 6074492, Out=16484942 (OK)
In=16484943, Encrypted= 5468920, Out=16484943 (OK)
[Code] ....
View 10 Replies
View Related
Aug 8, 2013
I was trying to implement Big Integer Implementation. I wanted to start with the basic operation of addition. I am having some problems with operator overloading part
/**
BigInteger implementation
*/
#include "conio.h"
#include "iostream"
[Code]....
View 9 Replies
View Related
Apr 19, 2014
I was looking at this tutorial: [URL] ..... And I was wondering if implementing it in MVC would be pretty much the same way? How would I display feed items in the views page using?
I tried something like:
ReaderModel Reader = new ReaderModel();
Collection<Rss.Item> List;
List = Reader.GetFeed();
ViewData["RssItems"] = List;
// then in index.cshtml
@foreach(Collection<Rss.Item> items in ViewData["RssItems"]) {
<h3>items.Title</h3>
...
}
I don't think this is right as I'm getting those red error lines...
View 3 Replies
View Related
Aug 5, 2013
Here is the code,
Code:
class A {
private:
void* operator new(size_t size);
};
int main() {
return 0;
}
The code above compiles fine without errors. But operator new might not have implementation body?
View 3 Replies
View Related
Jul 9, 2013
I've been working on creating a simulator to crash two galaxies together as part of a project to stress test a CUDA super computer. I've got a long way to go and am currently just working on correctly simulating n-body gravity functions. First I will use this to simulate the cores of the galaxies (the black holes) and eventually the stars.
So long story short I'm working on the beginnings of a gravity simulator. At this point I found some basic code that works well but doesn't quite give the effect I'm looking for.
The code below only pulls each object towards each other like a spring faster and faster until they shoot off into infinity. I try to give one of my bodies an initial velocity to get it to orbit another, but it always just shoots straight at the other body. I'm thinking I need to factor in inertia so that the initial velocity doesn't just get calculated away really fast by the other calculations.
I'm really looking for a bit of direction to get a real gravity simulator with orbits and such working right so eventually I can scale it up to a galaxy, throw in 100B stars and let the CUDA run for a month..
Code:
void update_galaxies(GLdouble elapsedTime) {
//Calculate gravity simulations
GLdouble r1, r2, r3;
r1 = r2 = r3 = 0.0;
for(unsigned int i = 0; i < galaxies.size(); i++)
[Code] ....
As you can see, I'm calculating all the bodies in a vector called "galaxies" with each other, and doing a basic gravity calculation to it. The update_position function simply takes the calculated acceleration and uses it to calculate the velocity and position based on the "elapsedTime".
I think I need to use the Varlet or Runge-Kutta integration methods, after doing a bit more research.
View 9 Replies
View Related
Mar 12, 2013
I'm having problems with implementing depth first search.
Code:
6 10 //6vertices 10edges
0 2 //vertex and its adjacent vertex
1 0
1 2
2 3
2 4
3 1
4 1
4 3
4 5
5 3
Output to terminal: 0 2 3 1 4 5
but it should be: 0 2 4 5 3 1
Here's my code:
#include<stdio.h>
#include<assert.h>
/* maxVertices represents maximum number of vertices that can be present in the graph. */
#define maxVertices 100
void Dfs(int graph[][maxVertices], int *size, int presentVertex,int *visited)
[Code] ....
View 1 Replies
View Related
May 31, 2014
Code:
#include <stdio.h>#include <unistd.h>
#include <stdlib.h>
#define STACKSIZE 100
struct stackk
{
int top;
int items[STACKSIZE];
};
typedef struct stackk *s;
[Code]...
View 1 Replies
View Related
Apr 7, 2014
I am trying to implement a stack class which has struct data type as its private member. I am getiing the following error ,
bash-3.2$ g++ stack_str_arr.cpp
stack_str_arr.cpp: In member function ‘void stack::push(int)’:
stack_str_arr.cpp:39: error: ‘top’ was not declared in this scope
stack_str_arr.cpp: At global scope:
stack_str_arr.cpp:43: error: no ‘void stack::display()’ member function declared in class ‘stack’
Code:
#include<iostream>
using namespace std;
#define MAX 5
class stack {
public :
stack();
[Code] ....
View 2 Replies
View Related
Sep 19, 2013
I'm implementing a 4x4 matrix class and all is going well until the inverse function turned up. I'm trying to implement the inverse function, but I can't seem to get my head around it.
I've tried the internet, but found nothing useful. Also, I've looked into source code of other programs/libraries that implement a matrix class, but the code is unreadable.
How I can implement this damn 4x4 inverse function? I know the process of inversion, but putting that process into code is proving quite a challenge.
In addition, I do have some code, but it's unmanageable and inefficient at the moment. If you want to see it, just ask.
Additional question(s): What applications does the inverse matrix have in 3-D?
View 3 Replies
View Related
Nov 22, 2014
I'd like te have a heap which contains any item inserted by me. However, when I insert the values, if I delete the min value of this coded heap twice, I get the min value uncorrect.I could not find where the mistake is.
Code:
void BinaryHeap::percolateDown(int hole) {
int child = hole*2;
while (child < size) {
[Code].....
View 1 Replies
View Related
Sep 12, 2014
I am trying to implement some kind of named class. It would look something like this:
class MyClass {
virtual std::string getName() = 0;
};
And now (what doesn't pass the compilation)
template <std::string NAME> class MyNamedClass {
std::string getName() { return NAME;}
};
And so every time I would like to have a class with a name, I could just do the following:
FinalClass : public MyNamedClass<"FinalClass">{};
The idea is not to have to always reimplement getName(), and just do it concisely in the declaration.
View 7 Replies
View Related
Aug 26, 2013
I was trying to implement a hash function in c++. This is just for learning purposes and not for a class project or assignment question. I had some questions before I started programming it:
1) Is it meaningful to have a hash function which maps string to string, string to int, int to int, float to int?
2) Can we have a template implementation which does element to element hashing?
I looked at several sources for a clear understanding of concepts and implementation technique but could not find a good source for reading about hashing.
View 3 Replies
View Related
May 11, 2013
I am currently trying to implement a pathfinding algorithm using c++ and opengl. My code so far is shown below:
#define OPEN 1
#define CLOSED 2
#define UNVISITED 3
#define BLOCKED 4
#define HIGHLIGHT 5
#define ONROUTE 6
#define GOAL 7
#define GSIZE 20 // size of tile grid
#define ISTART 15 // index position of starting tile in grid
[Code] ....
View 2 Replies
View Related
Apr 14, 2014
I created a structure Vector and implement some functions to make the new defined type (vector) dynamically allocated and resized (inspired from the C++ implementation of the dynamic arrays : vector). I need to assign a structure to every vector element but I am not sure that I am doing it right:
here is the structure that I've defined:
typedef struct {
void** mem; // to make this parametrizable I want the void* to point to a Structure (referenced with * a pointer)
unsigned long elems;
unsigned long elemsize; //element size
[Code] ....
I believe I have serious problems with pointers, values and dereferencing a pointer.
View 7 Replies
View Related
May 5, 2014
How can we implement an expression parser in C++.
View 3 Replies
View Related
Apr 19, 2013
So I'm going through and trying to do a recursive implementation of a Heap. I keep getting access violations for some reason on my sifts (_siftUp) - even though I'm trying to insert into sub[0] (currSize = 0 in the constructor). I don't think either of my sifts are implemented correctly, are they?
Here's my Heap:
Code:
#ifndef HEAP_H
#define HEAP_H
//**************************************************************************
template<typename TYPE>
[Code].....
View 5 Replies
View Related
May 13, 2012
What is the benefit on separating the abstraction and implementation.
The below code
Code:
class FileProcessor {
public:
virtual void processFile();
};
class DocProcessor : public FileProcessor
[Code] ....
Till now it is fine. suppose DocProcessor and ExcelProcessor uses two big algorithm to process these file types then I still can have subclasses like :
class Algorithm1 : public DocProcessor
{
public:
void algorithm(); //which will be called as per the algorithm class instantiated for to process
};
[Code] ....
same for ExcelProcessor class
Here everything looks fine to me. [ I have not used the bridge pattern to separate the abstraction and implementation]. The only thing i can achieve using bridge is that the number of classes will be reduced if new class like jpgProcessor is introduced or new algorithim is introduced.
Then why it is recommended that always separate the abstraction and implementation...
View 5 Replies
View Related
Feb 13, 2013
How a graph can be implemented in the form of a c program?
View 2 Replies
View Related
Apr 12, 2013
I'm trying to code one of the problems but it really is hard to catch errors for a novice like me at first.
I have to Write a single C function for computing the histogram of a list of nonnegative integers into 4 bins.
The main() function first initializes a positive integer array called List of size N, takes 3 inputs from the user A, B, C (assume 0 < A < B < C), and declares a second integer array Bin[4].
The doBinning function should count the number of elements of List in the interval [0, A) and store it in Bin[0], count of [A, B) in Bin[1], count of elements in [B,C) in Bin[2], and the number of elements >= C in Bin[3]
Code:
#include <stdio.h>
#define N 10
#define M 4
int *doBinning (int source[], int dest[], int a, int b, int c);
int main (){
[Code] ....
Somehow I keep getting error from ptr = doBinning(List[], Bins[]. What am I doing wrong? Code might contain some errors.
View 3 Replies
View Related
Mar 23, 2013
I am trying to create a code to represent a queue using a linked list but i get the disturbing "Segmentation fault coredumped" after compilation.
Code:
#ifndef QUEUE_H
#define QUEUE_H
#include <stdbool.h>
typedef int Item;
typedef struct queue_type *Queue;
typedef struct node *return_node;
[Code] .....
View 2 Replies
View Related
Aug 26, 2014
I implemented Anisotropic Diffusion for 2d image in C language in order to develop "Brain Surface Extractor". My code is having some flaw which I am not able to find.Its taking a pgm image as input and not producing the expected output which is the "Edge highlighted image".
Code:
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
#define SIZE 128
typedef struct PGM {
[Code] .....
View 1 Replies
View Related
Jun 7, 2014
I have this code that I need to memorize for my final. Memorizing code is easy for me, but I'm trying pretty hard to fundamentally understand the functions, and what they are doing (even using pen and paper, to draw and trace).For example, in the push function below, I understand everything, except why I'm setting ptr = p. I feel like p should be equal to NULL, then the next node I push should be equal to p, etc.
Stack & Stack::push(double x)
{
Node * p = NULL;
try
{
p = new Node;
}
[code].....
Also, are LL Queues that hard to implement once you can do them w/stacks - That will probably be something I have to code for my final, as well. Below is the full code for my Stack class.
#include <iostream>
#include <string>
#include <stdlib.h>
using namespace std;
class Stack
}
[code]....
View 1 Replies
View Related
Jul 20, 2013
I am having trouble with the implementation section of my code. The trouble I am having is with the """"string Name::RevereUsingString()""" function/method. I keep getting an error saying that """"control reaches end of non-void function"""". The two void function below the ""string Name::RevereUsingString()"" fuction/method are ok and ready to be worked on.
How to implement the ""string Name::RevereUsingString()"" correctly in the implementation section?
#include <iostream>
#include <string>
using namespace std;
//-------------Class Section------------------------------------
class Name {
[Code] .....
View 2 Replies
View Related