tcp

Why shouldn't I run my non-web server software on port 80?

Considering there are so many draconian firewalls in the world, is there any reason I shouldn't run server software on port 80 to guarantee greatest possible accessibility? It seems that the most common firewall exception is to allow outbound connections on port 80. I understand that any sort of packet inspection would still block my non...

Whats the best way to send an event to all workstations

Hi, I hope someone can guide me as I'm stuck... I need to write an emergency broadcast system that notifies workstations of an emergency and pops up a little message at the bottom of the user's screen. This seems simple enough but there are about 4000 workstations over multiple subnets. The system needs to be almost realtime, lightweigh...

Custom app using Winsock vs IIS Server design

I have a server application developed using C++ running on Windows platform. This server uses Windows sockets to communicate with clients using TCP. The socket server architecture inside the application is quite simple. The application pools 'x' number of threads during startup. Whenever a new client connects to the server, one of the th...

Developing Serverless Lan Chat Program Help!

I want to develop simple Serverless LAN Chat program just for fun. How can I do this ? What type Architecture should I use? Last year I have worked on TCP,UDP Client/ Server application Project.It was simple (Server listens to certain port/socket and Client connect to server's port etc..) But I have no idea about how to develop "Server...

Why can't I connect to postgres from Perl?

I believe I have set up Pg properly, but my script doesn't seem to be connecting to the database. I am testing with: $database="networkem"; $user="postgres"; $password=""; $host="localhost"; $dbh = DBI->connect("DBI:Pg:dbname=$dbname;host=$host", $user, $password); My pg_hba reads: host all postgres 127.0.0.1 255.255.25...

Size of a tcp packet on BSD

If i need to find out the size of a tcp packet on BSD.....what do we need to do? Is there some utility which allows for this? ...

What the cost of WSAStartup and WSACleanup?

I have a c++ win32 program that uses sockets to download some data from a server. Before using sockets on Windows, WSAStartup must be called. MSDN says: "There must be a call to WSACleanup for each successful call to WSAStartup. Only the final WSACleanup function call performs the actual cleanup." The easiest way for me is to call WSAS...

Delphi: Limiting TCP connections

Hello. I'm using the TServerSocket component in my Delphi application. I would like to limit client connections, let's say to one thousand. Unfortunately i don't know how to do that. The component does not provide any properties like 'MaxConnections' or any other like this one. I create new server threads (TServerClientThread) using th...

How to properly and completely close/reset a TcpClient connection?

Hi, What is the correct way to close or reset a TcpClient connection? We have software that communicates with hardware but sometimes something goes wrong and we are no longer to communicate with it, until we restart the software. I have tried forcing TcpClient.Close() and even setting it to null but that doesn't work. Only a complete ...

Why would recv fail when the requested buffer size is greater than the amount of data available?

Underlying the TCP transport stack are a number of buffer limits sometimes documented by their authors. On WinXP SP3 I've run into one of these, I think, and can't figure out why. I have implemented a simple client to get data from a server (written by a colleague in Java). The protocol is to write the length of the data (in network o...

In Linux, how do I know if an ACK is received to a certain TCP packet?

Long story short: in Linux, how do I ensure that an ACK message is received for a certain TCP packet? Full story: I'm debugging an Asterisk/OpenH323 <-> Panasonic IP-GW16 issue. An H323 connection involves two sessions: H225.0 and H245. These are just two TCP sessions, over which some data are transmitted. Let's call them Session 1 (...

Python/Twisted - TCP packet fragmentation?

Hello, In Twisted when implementing the dataReceived method, there doesn't seem to be any examples which refer to packets being fragmented. In every other language this is something you manually implement, so I was just wondering if this is done for you in twisted already or what? If so, do I need to prefix my packets with a length head...

Invoking a TCP SoapService using TcpClient

I have a demo soap service which echos back the request public class EchoWebService : SoapService { [SoapMethod("Echo")] public string Echo(string request) { Console.WriteLine("Request: {0}", request); return DateTime.Now + Environment.NewLine + request; } } Service is h...

Tomcat/IIS closes socket after http response has completed

Hi. I am using JBoss 4.0.4 GA, which has Tomcat Servlet Container 5.5. I also have IIS 6.0 redirected to this JBoss. (via IIS tomcat connector, which is used as ISAPI filter in IIS). All is working OK, configured the workers as described. Here is a piece of workers.properties file of the connector: # # Defining a worker named ajp13 and...

Linux Socket Buffer Imbalance

I have a simple scenario, where two servers are connected through a gigabit link. I run iperf on both sides to measure the throughput. What surprises me, whenever I run the traffic bidirectionally, it always favor one side only (eg. ~900Mbps vs. ~100Mbps). If I run the traffic unidirectional, each side got ~900Mbps. If I connect one of...

How does the socket API accept() function work?

The socket API is the de-facto standard for TCP/IP and UDP/IP communications (that is, networking code as we know it). However, one of its core functions, accept() is a bit magical. To borrow a semi-formal definition: accept() is used on the server side. It accepts a received incoming attempt to create a new TCP connection from ...

Is there performance penalty on managed code when reading/writing high data volume on TCP/UDP socket compare to unmanaged code?

Do you think C# TCP/UDP socket use in the managed application can handle (roughly) same amount of data as native C++ version? If not, what is data amount we shall consider native or c# is better to use and what is the biggest obstacle in the implementation on managed side? ...

TcpListener: Listen on every address, including GPRS IP address

Hi, We have a simple piece of legacy software with which we need to communicate using TCP/IP over port 15001. We need to listen on port 15001 for the legacy software to make a connection and then read whatever it sends us. We have tested this solution accross the internet and it works just fine. If however we test the same solution acr...

Is there an algorithm for fingerprinting the TCP congestion control algorithm used in a captured session?

I would like a program for determining the TCP congestion control algorithm used in a captured TCP session. The referenced Wikipedia article states: TCP New Reno is the most commonly implemented algorithm, SACK support is very common and is an extension to Reno/New Reno. Most others are competing proposals which still need ...

How does TCP deal with timeouts with cwnd?

I've been researching TCP congestion control recently, however one question plagues me... If I understand everything correctly, TCP will not send NEW data unless allowed by the cwnd (congestion window) and rwnd (the receiving side's window). In other words: if(flightSize < MIN(cwnd, rwnd)) { // Send some new data (if possible) ...