Network Programming. Writing network and internet applications.
|
|
|
- Barbra Grant
- 10 years ago
- Views:
Transcription
1 Network Programming Writing network and internet applications.
2 Overview > Network programming basics > Sockets > The TCP Server Framework > The Reactor Framework > High Level Protocols: HTTP, FTP and
3 IP Addresses > The Poco::Net::IPAddress class stores an IPv4 or IPv6 host address. > An IPAddress can be parsed from a string, or formatted to a string. Both IPv4 style (d.d.d.d) and IPv6 style (x:x:x:x:x:x:x:x) notations are supported. > You can test for certain properties of an IP address: iswildcard(), isbroadcast(), isloopback(), ismulticast(), etc. > IPAddress supports full value semantics, including all relational operators. > See the reference documentation for details.
4 Socket Addresses > A Poco::Net::SocketAddress combines an IPAddress with a port number, thus identifying the endpoint of an IP network connection. > SocketAddress supports value semantics, but not comparison. > A SocketAddress can be created from an IPAddress and a port number, a string containing an IP address and a port number, or a string containing both an IP address and a port number, separated by a colon.
5 Name Resolution > The Poco::Net::DNS class provides an interface to the Domain Name System, mapping domain names to IP addresses and vice versa. > Address information for a host is returned in the form of a Poco::Net::HostEntry object. > A HostEntry contains a host's primary name, a list of aliases, and a list of IP addresses.
6 #include "Poco/Net/DNS.h" #include <iostream> using Poco::Net::DNS; using Poco::Net::IPAddress; using Poco::Net::HostEntry; int main(int argc, char** argv) { const HostEntry& entry = DNS::hostByName(" std::cout << "Canonical Name: " << entry.name() << std::endl; const HostEntry::AliasList& aliases = entry.aliases(); HostEntry::AliasList::const_iterator it = aliases.begin() for (; it!= aliases.end(); ++it) std::cout << "Alias: " << *it << std::endl; const HostEntry::AddressList& addrs = entry.addresses(); HostEntry::AddressList::const_iterator it = addrs.begin(); for (; it!= aliases.end(); ++it) std::cout << "Address: " << it->tostring() << std::endl; } return 0;
7 Sockets > The socket classes in POCO are implemented using the Pimpl idiom. > POCO sockets are a very thin layer on top of BSD sockets and thus incur a minimal performance overhead basically an additional call to a (virtual) function. > A Socket object supports full value semantics (including all comparison operators). > A Socket object stores only a pointer to a corresponding SocketImpl object. SocketImpl objects are reference counted.
8 Socket StreamSocket ServerSocket DatagramSocket RawSocket ICMPSocket SecureServerSocket MulticastSocket DialogSocket SecureStreamSocket
9 The Socket Class > Poco::Net::Socket is the root class of the sockets inheritance tree. > It supports methods that can be used with some or all kinds of sockets, like: > select() and poll() > setting and getting various socket options (timeouts, buffer sizes, reuse address flag, etc.) > getting the socket's address and the peer's address
10 The StreamSocket Class > Poco::Net::StreamSocket is used for creating a TCP connection to a server. > Use sendbytes() and receivebytes() to send and receive data, or use the Poco::Net::SocketStream class, which provides an I/O streams interface to a StreamSocket.
11 #include "Poco/Net/SocketAddress.h" #include "Poco/Net/StreamSocket.h" #include "Poco/Net/SocketStream.h" #include "Poco/StreamCopier.h" #include <iostream> int main(int argc, char** argv) { Poco::Net::SocketAddress sa(" 80); Poco::Net::StreamSocket socket(sa) Poco::Net::SocketStream str(socket); str << "GET / HTTP/1.1\r\n" "Host: "\r\n"; str.flush(); Poco::StreamCopier::copyStream(str, std::cout); } return 0;
12 The ServerSocket Class > Poco::Net::ServerSocket is used to create a TCP server socket. > It is pretty low level. > For an actual server, consider using the TCPServer or the Reactor framework.
13 #include "Poco/Net/ServerSocket.h" #include "Poco/Net/StreamSocket.h" #include "Poco/Net/SocketStream.h" #include "Poco/Net/SocketAddress.h" int main(int argc, char** argv) { Poco::Net::ServerSocket srv(8080); // does bind + listen } for (;;) { Poco::Net::StreamSocket ss = srv.acceptconnection(); Poco::Net::SocketStream str(ss); str << "HTTP/ OK\r\n" "Content-Type: text/html\r\n" "\r\n" "<html><head><title>my 1st Web Server</title></head>" "<body><h1>hello, world!</h1></body></html>" << std::flush; } return 0;
14 UDP Sockets > Poco::Net::DatagramSocket is used to send and receive UDP packets. > Poco::Net::MulticastSocket is a subclass of Poco::Net::DatagramSocket that allows you to send multicast datagrams. > To receive multicast messages, you must join a multicast group, using MulticastSocket::joinGroup(). > You can specify the network interface used for sending and receiving multicast messages.
15 // DatagramSocket send example #include "Poco/Net/DatagramSocket.h" #include "Poco/Net/SocketAddress.h" #include "Poco/Timestamp.h" #include "Poco/DateTimeFormatter.h" int main(int argc, char** argv) { Poco::Net::SocketAddress sa("localhost", 514); Poco::Net::DatagramSocket dgs; dgs.connect(sa); Poco::Timestamp now; std::string msg = Poco::DateTimeFormatter::format(now, "<14>%w %f %H:%M:%S Hello, world!"); dgs.sendbytes(msg.data(), msg.size()); } return 0;
16 // DatagramSocket receive example #include "Poco/Net/DatagramSocket.h" #include "Poco/Net/SocketAddress.h" #include <iostream> int main(int argc, char** argv) { Poco::Net::SocketAddress sa(poco::net::ipaddress(), 514); Poco::Net::DatagramSocket dgs(sa); char buffer[1024]; for (;;) { Poco::Net::SocketAddress sender; int n = dgs.receivefrom(buffer, sizeof(buffer)-1, sender); buffer[n] = '\0'; std::cout << sender.tostring() << ": " << buffer << std::endl; } } return 0;
17 // MulticastSocket receive example #include "Poco/Net/SocketAddress.h" #include "Poco/Net/MulticastSocket.h" int main(int argc, char* argv[]) { Poco::Net::SocketAddress address(" ", 1900); Poco::Net::MulticastSocket socket( Poco::Net::SocketAddress( Poco::Net::IPAddress(), address.port() ) ); // to receive any data you must join socket.joingroup(address.host()); Poco::Net::SocketAddress sender; char buffer[512]; int n = socket.receivefrom(buffer, sizeof(buffer), sender); socket.sendto(buffer, n, sender); } return 0;
18 The TCPServer Framework > Poco::Net::TCPServer implements a multithreaded TCP server. > The server uses a ServerSocket to accept incoming connections. You must put the ServerSocket into listening mode before passing it to the TCPServer. > The server maintains a queue for incoming connections. > A variable number of worker threads fetches connections from the queue to process them. The number of worker threads is adjusted automatically, depending on the number of connections waiting in the queue.
19 The TCPServer Framework (cont'd) > The number of connections in the queue can be limited to prevent the server from being flooded with requests. Incoming connections that no longer fit into the queue are closed immediately. > TCPServer creates its own thread that accepts connections and places them in the queue. > TCPServer uses TCPServerConnection objects to handle a connection. You must create your own subclass of TCPServerConnection, as well as a factory for it. The factory object is passed to the constructor of TCPServer.
20 The TCPServer Framework (cont'd) > Your subclass of TCPServerConnection must override the run() method. In the run() method, you handle the connection. > When run() returns, the TCPServerConnection object will be deleted, and the connection closed. > A new TCPServerConnection will be created for every accepted connection.
21 The Reactor Framework > The Reactor framework is based on the Reactor design pattern, described by Douglas C. Schmidt in PLOP. > Basically, it's non-blocking sockets and select() combined with a NotificationCenter. > The Poco::Net::SocketReactor observes the state of an arbitrary number of sockets, and dispatches a notification if a state of a socket changes (it becomes readable, writable, or an error occured). > Classes register a socket and a callback function with the SocketReactor.
22 The Reactor Framework (cont'd) > The SocketReactor is used together with a SocketAcceptor. > The SocketAcceptor waits for incoming connections. > When a new connection request arrives, the SocketAcceptor accepts the connection and creates a new ServiceHandler object that handles the connection. > When the ServiceHandler is done with the connection, it must delete itself.
23 The HTTPServer Framework > POCO contains a ready-to-use HTTP Server framework > multithreaded > HTTP 1.0/1.1 > authentication support > cookie support > HTTPS by using the NetSSL library
24 HTTPServer > configurable multi-threading > maximum number of threads > uses thread pool > queue size for pending connections > similar to TCPServer > expects a HTTPRequestHandlerFactory > which creates HTTPRequestHandler based on the URI
25 HTTPRequestHandlerFactory > manages all known HTTPRequestHandlers > sole purpose is to decide which request handler will answer a request > can be used to check cookies, authentication info but this is mostly done by the request handlers
26 Poco::UInt16 port = 9999; HTTPServerParams* pparams = new HTTPServerParams; pparams->setmaxqueued(100); pparams->setmaxthreads(16); ServerSocket svs(port); // set-up a server socket HTTPServer srv(new MyRequestHandlerFactory(), svs, pparams); // start the HTTPServer srv.start(); waitforterminationrequest(); // Stop the HTTPServer srv.stop();
27 #include "Poco/Net/HTTPRequestHandlerFactory.h" #include "Poco/Net/HTTPServerRequest.h" #include "RootHandler.h" #include "DataHandler.h" class MyRequestHandlerFactory: public Poco::Net::HTTPRequestHandlerFactory { public: MyRequestHandlerFactory() { } }; Poco::Net::HTTPRequestHandler* createrequesthandler( const Poco::Net::HTTPServerRequest& request) { if (request.geturi() == "/") return new RootHandler(); else return new DataHandler(); }
28 HTTPServerRequest > created by the server > passed as parameter to the HTTPRequestHandler/-Factory > contains URI > cookies > authentification information > HTML form data
29 HTTPServerResponse > created by the server but initialized by the request handler > set cookies > set content type of the answer response.setcontenttype("text/html"); > either set the length of the content or use chunked transfer encoding response.setcontentlength(1024); response.setchunkedtransferencoding(true);
30 HTTPServerResponse (cont) > set response type response.setstatus[andreason]( HTTPResponse::HTTP_OK); // default response.setstatus[andreason]( HTTPResponse::HTTP_UNAUTHORIZED) > after response is fully configured, send the header std::ostream& out = response.send(); > if required, write data content to the returned stream > send() must be invoked exactly once!
31 class RootHandler: public Poco::Net::HTTPRequestHandler { public: void handlerequest(poco::net::httpserverrequest& request, Poco::Net::HTTPServerResponse& response) { Application& app = Application::instance(); app.logger().information("request from " + request.clientaddress().tostring()); response.setchunkedtransferencoding(true); response.setcontenttype("text/html"); std::ostream& ostr = response.send(); }; ostr << "<html><head><title>http Server powered by POCO C++ Libraries</title></head>"; ostr << "<body>"; [...] ostr << "</body></html>"; }
32 Handling Cookies > Support for handling cookies is provided by the Poco::Net::HTTPCookie class, as well as by the Poco::Net::HTTPRequest and Poco::Net::HTTPResponse classes. // set cookie in response Poco::Net::HTTPCookie cookie( name, Peter ); cookie.setpath( / ); cookie.setmaxage(3600); // 1 hour response.addcookie(cookie); // extract cookie from request Poco::Net::NameValueCollection cookies; request.getcookies(cookies); Poco::Net::NameValueCollection::ConstIterator it = cookies.find( name ); if (it!= cookies.end()) std::string username = it->second;
33 Handling Credentials void handlerequest(poco::net::httpserverrequest& request, Poco::Net::HTTPServerResponse& response) { if(!request.hascredentials()) { response.requireauthentication("my Realm"); response.setcontentlength(0); response.send(); return; } else { Poco::Net::HTTPBasicCredentials cred(request); const std::string& user = cred.getusername(); const std::string& pwd = cred.getpassword(); [...] } }
34 HTMLForm > helper class to handle HTML form data Poco::Net::HTMLForm form(request); form[ entry1 ] == somedata ; > to handle file uploads (POST with attachments) you must combine it with a Poco::Net::PartHandler MyPartHandler myhandler; Poco::Net::HTMLForm form(request, request.stream(), myhandler);
35 #include Poco/Net/PartHandler.h #include Poco/Net/MessageHeader.h class MyPartHandler: public Poco::Net::PartHandler { public: void handlepart(const Poco::Net::MessageHeader& header, std::istream& stream) { _disp = header["content-disposition"]; _type = header["content-type"]; // read from stream and do something with it } private: std::string _disp; std::string _type; };
36 HTTP Client > Poco::Net::HTTPClientSession > allows you set GET/POST > authentication information > Poco:Net::HTTPStreamFactory and Poco::StreamCopier if you only want to download something
37 using namespace Poco::Net; HTTPClientSession s(" //s.setproxy("localhost", srv.port()); HTTPRequest request(httprequest::http_get, "/large"); HTMLForm form; form.add( entry1, value1 ); form.preparesubmit(request); s.sendrequest(request); HTTPResponse response; std::istream& rs = s.receiveresponse(response); StreamCopier::copyStream(rs, std::cout);
38 HTTPStreamFactory > must register the factory at the Poco::URIStreamOpener Poco::Net::HTTPStreamFactory::registerFactory(); > allows to open all http URIs with a one liner std::auto_ptr<std::istream> pstr(uristreamopener::defaultopener().open(uri)); StreamCopier::copyStream(*pStr.get(), std::cout); > see Poco/Net/samples/download for a complete example
39 Copyright by Applied Informatics Software Engineering GmbH. Some rights reserved. T F
URI and UUID. Identifying things on the Web.
URI and UUID Identifying things on the Web. Overview > Uniform Resource Identifiers (URIs) > URIStreamOpener > Universally Unique Identifiers (UUIDs) Uniform Resource Identifiers > Uniform Resource Identifiers
Logging. Working with the POCO logging framework.
Logging Working with the POCO logging framework. Overview > Messages, Loggers and Channels > Formatting > Performance Considerations Logging Architecture Message Logger Channel Log File Logging Architecture
3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version
Version 3.5 JEFFERSON LAB Data Acquisition Group cmsg Developer s Guide J E F F E R S O N L A B D A T A A C Q U I S I T I O N G R O U P cmsg Developer s Guide Elliott Wolin [email protected] Carl Timmer [email protected]
PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc.
PROFESSIONAL Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE Pedro Teixeira WILEY John Wiley & Sons, Inc. INTRODUCTION xxvii CHAPTER 1: INSTALLING NODE 3 Installing Node on Windows 4 Installing on
SSC - Communication and Networking Java Socket Programming (II)
SSC - Communication and Networking Java Socket Programming (II) Shan He School for Computational Science University of Birmingham Module 06-19321: SSC Outline Outline of Topics Multicast in Java User Datagram
1 Introduction: Network Applications
1 Introduction: Network Applications Some Network Apps E-mail Web Instant messaging Remote login P2P file sharing Multi-user network games Streaming stored video clips Internet telephone Real-time video
The POSIX Socket API
The POSIX Giovanni Agosta Piattaforme Software per la Rete Modulo 2 G. Agosta The POSIX Outline Sockets & TCP Connections 1 Sockets & TCP Connections 2 3 4 G. Agosta The POSIX TCP Connections Preliminaries
DNS: Domain Names. DNS: Domain Name System. DNS: Root name servers. DNS name servers
DNS: Domain Name System DNS: Domain Names People: many identifiers: SSN, name, Passport # Internet hosts, routers: Always: IP address (32 bit) - used for addressing datagrams Often: name, e.g., nifc14.wsu.edu
Network-based Applications. Pavani Diwanji David Brown JavaSoft
Network-based Applications Pavani Diwanji David Brown JavaSoft Networking in Java Introduction Datagrams, Multicast TCP: Socket, ServerSocket Issues, Gotchas URL, URLConnection Protocol Handlers Q & A
Transport layer protocols. Message destination: Socket +Port. Asynchronous vs. Synchronous. Operations of Request-Reply. Sockets
Transport layer protocols Interprocess communication Synchronous and asynchronous comm. Message destination Reliability Ordering Client Server Lecture 15: Operating Systems and Networks Behzad Bordbar
Tutorial on Socket Programming
Tutorial on Socket Programming Computer Networks - CSC 458 Department of Computer Science Seyed Hossein Mortazavi (Slides are mainly from Monia Ghobadi, and Amin Tootoonchian, ) 1 Outline Client- server
The difference between TCP/IP, UDP/IP and Multicast sockets. How servers and clients communicate over sockets
Network Programming Topics in this section include: What a socket is What you can do with a socket The difference between TCP/IP, UDP/IP and Multicast sockets How servers and clients communicate over sockets
Network Programming using sockets
Network Programming using sockets TCP/IP layers Layers Message Application Transport Internet Network interface Messages (UDP) or Streams (TCP) UDP or TCP packets IP datagrams Network-specific frames Underlying
An API for Reading the MySQL Binary Log
An API for Reading the MySQL Binary Log Mats Kindahl Lead Software Engineer, MySQL Replication & Utilities Lars Thalmann Development Director, MySQL Replication, Backup & Connectors
Network Communication
Network Communication Outline Sockets Datagrams TCP/IP Client-Server model OSI Model Sockets Endpoint for bidirectional communication between two machines. To connect with each other, each of the client
Web. Services. Web Technologies. Today. Web. Technologies. Internet WWW. Protocols TCP/IP HTTP. Apache. Next Time. Lecture #3 2008 3 Apache.
JSP, and JSP, and JSP, and 1 2 Lecture #3 2008 3 JSP, and JSP, and Markup & presentation (HTML, XHTML, CSS etc) Data storage & access (JDBC, XML etc) Network & application protocols (, etc) Programming
Transport Layer Services Mul9plexing/Demul9plexing. Transport Layer Services
Computer Networks Mul9plexing/Demul9plexing Transport services and protocols provide logical communica+on between app processes running on different hosts protocols run in end systems send side: breaks
Socket Programming in C/C++
September 24, 2004 Contact Info Mani Radhakrishnan Office 4224 SEL email mradhakr @ cs. uic. edu Office Hours Tuesday 1-4 PM Introduction Sockets are a protocol independent method of creating a connection
socketio Documentation
socketio Documentation Release 0.1 Miguel Grinberg January 17, 2016 Contents 1 What is Socket.IO? 3 2 Getting Started 5 3 Rooms 7 4 Responses 9 5 Callbacks 11 6 Namespaces 13 7 Using a Message Queue 15
SMTP-32 Library. Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows. Version 5.2
SMTP-32 Library Simple Mail Transfer Protocol Dynamic Link Library for Microsoft Windows Version 5.2 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
UNIX Sockets. COS 461 Precept 1
UNIX Sockets COS 461 Precept 1 Clients and Servers Client program Running on end host Requests service E.g., Web browser Server program Running on end host Provides service E.g., Web server GET /index.html
Computer Networks. Lecture 7: Application layer: FTP and HTTP. Marcin Bieńkowski. Institute of Computer Science University of Wrocław
Computer Networks Lecture 7: Application layer: FTP and Marcin Bieńkowski Institute of Computer Science University of Wrocław Computer networks (II UWr) Lecture 7 1 / 23 Reminder: Internet reference model
TFTP Usage and Design. Diskless Workstation Booting 1. TFTP Usage and Design (cont.) CSCE 515: Computer Network Programming ------ TFTP + Errors
CSCE 515: Computer Network Programming ------ TFTP + Errors Wenyuan Xu Department of Computer Science and Engineering University of South Carolina TFTP Usage and Design RFC 783, 1350 Transfer files between
Implementing Network Software
Implementing Network Software Outline Sockets Example Process Models Message Buffers Spring 2007 CSE 30264 1 Sockets Application Programming Interface (API) Socket interface socket : point where an application
Network Programming TDC 561
Network Programming TDC 561 Lecture # 1 Dr. Ehab S. Al-Shaer School of Computer Science & Telecommunication DePaul University Chicago, IL 1 Network Programming Goals of this Course: Studying, evaluating
Java Network. Slides prepared by : Farzana Rahman
Java Network Programming 1 Important Java Packages java.net java.io java.rmi java.security java.lang TCP/IP networking I/O streams & utilities Remote Method Invocation Security policies Threading classes
Configuring Nex-Gen Web Load Balancer
Configuring Nex-Gen Web Load Balancer Table of Contents Load Balancing Scenarios & Concepts Creating Load Balancer Node using Administration Service Creating Load Balancer Node using NodeCreator Connecting
Data Communication & Networks G22.2262-001
Data Communication & Networks G22.2262-001 Session 10 - Main Theme Java Sockets Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical Sciences 1 Agenda
Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.
Interprocess communication (Part 2) For an application to send something out as a message, it must arrange its OS to receive its input. The OS is then sends it out either as a UDP datagram on the transport
Session NM059. TCP/IP Programming on VMS. Geoff Bryant Process Software
Session NM059 TCP/IP Programming on VMS Geoff Bryant Process Software Course Roadmap Slide 160 NM055 (11:00-12:00) Important Terms and Concepts TCP/IP and Client/Server Model Sockets and TLI Client/Server
Computer Networks Network architecture
Computer Networks Network architecture Saad Mneimneh Computer Science Hunter College of CUNY New York - Networks are like onions - They stink? - Yes, no, they have layers Shrek and Donkey 1 Introduction
Lecture 2-ter. 2. A communication example Managing a HTTP v1.0 connection. G.Bianchi, G.Neglia, V.Mancuso
Lecture 2-ter. 2 A communication example Managing a HTTP v1.0 connection Managing a HTTP request User digits URL and press return (or clicks ). What happens (HTTP 1.0): 1. Browser opens a TCP transport
Understanding Slow Start
Chapter 1 Load Balancing 57 Understanding Slow Start When you configure a NetScaler to use a metric-based LB method such as Least Connections, Least Response Time, Least Bandwidth, Least Packets, or Custom
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers
A Comparative Study on Vega-HTTP & Popular Open-source Web-servers Happiest People. Happiest Customers Contents Abstract... 3 Introduction... 3 Performance Comparison... 4 Architecture... 5 Diagram...
2057-15. First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring
2057-15 First Workshop on Open Source and Internet Technology for Scientific Environment: with case studies from Environmental Monitoring 7-25 September 2009 TCP/IP Networking Abhaya S. Induruwa Department
µtasker Document FTP Client
Embedding it better... µtasker Document FTP Client utaskerftp_client.doc/1.01 Copyright 2012 M.J.Butcher Consulting Table of Contents 1. Introduction...3 2. FTP Log-In...4 3. FTP Operation Modes...4 4.
Introduction. How does FTP work?
Introduction The µtasker supports an optional single user FTP. This operates always in active FTP mode and optionally in passive FTP mode. The basic idea of using FTP is not as a data server where a multitude
Release Notes LS Retail Data Director 3.01.04 August 2011
Release Notes LS Retail Data Director 3.01.04 August 2011 Copyright 2010-2011, LS Retail. All rights reserved. All trademarks belong to their respective holders. Contents 1 Introduction... 1 1.1 What s
Fachgebiet Technische Informatik, Joachim Zumbrägel
Computer Network Lab 2015 Fachgebiet Technische Informatik, Joachim Zumbrägel Overview Internet Internet Protocols Fundamentals about HTTP Communication HTTP-Server, mode of operation Static/Dynamic Webpages
Network Layers. CSC358 - Introduction to Computer Networks
Network Layers Goal Understand how application processes set up a connection and exchange messages. Understand how addresses are determined Data Exchange Between Application Processes TCP Connection-Setup
CSCI110: Examination information.
CSCI110: Examination information. The exam for CSCI110 will consist of short answer questions. Most of them will require a couple of sentences of explanation of a concept covered in lectures or practical
Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming
Socket Programming Limi Kalita M.Tech Student, Department of Computer Science and Engineering, Assam Down Town University, Guwahati, India. Abstract: The aim of the paper is to introduce sockets, its deployment
BlackBerry Enterprise Service 10. Version: 10.2. Configuration Guide
BlackBerry Enterprise Service 10 Version: 10.2 Configuration Guide Published: 2015-02-27 SWD-20150227164548686 Contents 1 Introduction...7 About this guide...8 What is BlackBerry Enterprise Service 10?...9
innovaphone Delta list V10
Version 10 includes both new products and new functionalities as well as small updates for earlier versions. This document aims to provide information to technical readers who are familiar with the innovaphone
CORBA Programming with TAOX11. The C++11 CORBA Implementation
CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy
We will give some overview of firewalls. Figure 1 explains the position of a firewall. Figure 1: A Firewall
Chapter 10 Firewall Firewalls are devices used to protect a local network from network based security threats while at the same time affording access to the wide area network and the internet. Basically,
Apache Thrift and Ruby
Apache Thrift and Ruby By Randy Abernethy In this article, excerpted from The Programmer s Guide to Apache Thrift, we will install Apache Thrift support for Ruby and build a simple Ruby RPC client and
Integrating the F5 BigIP with Blackboard
Integrating the F5 BigIP with Blackboard Nick McClure [email protected] Lead Systems Programmer University of Kentucky Created August 1, 2006 Last Updated June 17, 2008 Integrating the F5 BigIP with Blackboard
Using Caché Internet Utilities
Using Caché Internet Utilities Version 2013.1 24 April 2013 InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com Using Caché Internet Utilities Caché Version 2013.1 24 April
Configuring Health Monitoring
CHAPTER4 Note The information in this chapter applies to both the ACE module and the ACE appliance unless otherwise noted. The features that are described in this chapter apply to both IPv6 and IPv4 unless
Chapter 11. User Datagram Protocol (UDP)
Chapter 11 User Datagram Protocol (UDP) The McGraw-Hill Companies, Inc., 2000 1 CONTENTS PROCESS-TO-PROCESS COMMUNICATION USER DATAGRAM CHECKSUM UDP OPERATION USE OF UDP UDP PACKAGE The McGraw-Hill Companies,
Socket Programming. Kameswari Chebrolu Dept. of Electrical Engineering, IIT Kanpur
Socket Programming Kameswari Chebrolu Dept. of Electrical Engineering, IIT Kanpur Background Demultiplexing Convert host-to-host packet delivery service into a process-to-process communication channel
Firewall Defaults, Public Server Rule, and Secondary WAN IP Address
Firewall Defaults, Public Server Rule, and Secondary WAN IP Address This quick start guide provides the firewall defaults and explains how to configure some basic firewall rules for the ProSafe Wireless-N
String sentence = new String(receivePacket.getData()); InetAddress IPAddress = receivepacket.getaddress(); int port = receivepacket.
164 CHAPTER 2 APPLICATION LAYER connection requests, as done in TCPServer.java. If multiple clients access this application, they will all send their packets into this single door, serversocket. String
An Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
API of DNS hosting. For DNS-master and Secondary services Table of contents
API of DNS hosting. For DNS-master and Secondary services Table of contents API of DNS hosting. For DNS-master and Secondary services... 1 1. Introduction... 3 2. Setting access area of application for
1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; e-mail: SMTP.
Chapter 2 Review Questions 1. The Web: HTTP; file transfer: FTP; remote login: Telnet; Network News: NNTP; e-mail: SMTP. 2. Network architecture refers to the organization of the communication process
Managing Virtual Servers
CHAPTER 4 Content Switching Module Device Manager (CVDM-CSM) displays details of existing virtual servers and enables users to perform detailed tasks that include creating or deleting virtual servers,
Introduction to Socket programming using C
Introduction to Socket programming using C Goal: learn how to build client/server application that communicate using sockets Vinay Narasimhamurthy [email protected] CLIENT SERVER MODEL Sockets are
Table of Contents. This whitepaper outlines how to configure the operating environment for MailEnable s implementation of Exchange ActiveSync.
This whitepaper outlines how to configure the operating environment for MailEnable s implementation of Exchange ActiveSync. Table of Contents Overview... 2 Evaluating Exchange ActiveSync for MailEnable...
Computer Networks & Security 2014/2015
Computer Networks & Security 2014/2015 IP Protocol Stack & Application Layer (02a) Security and Embedded Networked Systems time Protocols A human analogy All Internet communication is governed by protocols!
Building a Multi-Threaded Web Server
Building a Multi-Threaded Web Server In this lab we will develop a Web server in two steps. In the end, you will have built a multi-threaded Web server that is capable of processing multiple simultaneous
Configuring Health Monitoring
CHAPTER 6 This chapter describes how to configure the health monitoring on the CSM and contains these sections: Configuring Probes for Health Monitoring, page 6-1 Configuring Route Health Injection, page
Secure Web Appliance. Reverse Proxy
Secure Web Appliance Reverse Proxy Table of Contents 1. Introduction... 1 1.1. About CYAN Secure Web Appliance... 1 1.2. About Reverse Proxy... 1 1.3. About this Manual... 1 1.3.1. Document Conventions...
IP Network Layer. Datagram ID FLAG Fragment Offset. IP Datagrams. IP Addresses. IP Addresses. CSCE 515: Computer Network Programming TCP/IP
CSCE 515: Computer Network Programming TCP/IP IP Network Layer Wenyuan Xu Department of Computer Science and Engineering University of South Carolina IP Datagrams IP is the network layer packet delivery
Socket Programming. Announcement. Lectures moved to
Announcement Lectures moved to 150 GSPP, public policy building, right opposite Cory Hall on Hearst. Effective Jan 31 i.e. next Tuesday Socket Programming Nikhil Shetty GSI, EECS122 Spring 2006 1 Outline
NETWORKING FEATURES OF THE JAVA PROGRAMMING LANGUAGE
50-20-44 DATA COMMUNICATIONS MANAGEMENT NETWORKING FEATURES OF THE JAVA PROGRAMMING LANGUAGE John P. Slone INSIDE Java s Target Environment, Networking Basics, Java Networking Primitives, Connection-Oriented
Session Border Controller
CHAPTER 13 This chapter describes the level of support that Cisco ANA provides for (SBC), as follows: Technology Description, page 13-1 Information Model Objects (IMOs), page 13-2 Vendor-Specific Inventory
Operating Systems Design 16. Networking: Sockets
Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski [email protected] 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify
Generalised Socket Addresses for Unix Squeak 3.9 11
Generalised Socket Addresses for Unix Squeak 3.9 11 Ian Piumarta 2007 06 08 This document describes several new SocketPlugin primitives that allow IPv6 (and arbitrary future other) address formats to be
Channel Access Client Programming. Andrew Johnson Computer Scientist, AES-SSG
Channel Access Client Programming Andrew Johnson Computer Scientist, AES-SSG Channel Access The main programming interface for writing Channel Access clients is the library that comes with EPICS base Written
Application Layer. CMPT371 12-1 Application Layer 1. Required Reading: Chapter 2 of the text book. Outline of Chapter 2
CMPT371 12-1 Application Layer 1 Application Layer Required Reading: Chapter 2 of the text book. Outline of Chapter 2 Network applications HTTP, protocol for web application FTP, file transfer protocol
Solution of Exercise Sheet 5
Foundations of Cybersecurity (Winter 15/16) Prof. Dr. Michael Backes CISPA / Saarland University saarland university computer science Protocols = {????} Client Server IP Address =???? IP Address =????
Computer Networks/DV2 Lab
Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://www.fb9dv.uni-duisburg.de/ti/en/education/teaching/ss08/netlab Equipment for each group: - 1 Server computer (OS: Windows 2000 Advanced
The HTTP Plug-in. Table of contents
Table of contents 1 What's it for?... 2 2 Controlling the HTTPPlugin... 2 2.1 Levels of Control... 2 2.2 Importing the HTTPPluginControl...3 2.3 Setting HTTPClient Authorization Module... 3 2.4 Setting
Overview. Securing TCP/IP. Introduction to TCP/IP (cont d) Introduction to TCP/IP
Overview Securing TCP/IP Chapter 6 TCP/IP Open Systems Interconnection Model Anatomy of a Packet Internet Protocol Security (IPSec) Web Security (HTTP over TLS, Secure-HTTP) Lecturer: Pei-yih Ting 1 2
Socket Programming. Srinidhi Varadarajan
Socket Programming Srinidhi Varadarajan Client-server paradigm Client: initiates contact with server ( speaks first ) typically requests service from server, for Web, client is implemented in browser;
Lab Exercise SSL/TLS. Objective. Step 1: Open a Trace. Step 2: Inspect the Trace
Lab Exercise SSL/TLS Objective To observe SSL/TLS (Secure Sockets Layer / Transport Layer Security) in action. SSL/TLS is used to secure TCP connections, and it is widely used as part of the secure web:
Application. Transport. Network. Data Link. Physical. Network Layers. Goal
Layers Goal Understand how application processes set up a connection and exchange messages. Understand how addresses are determined 1 2 Data Exchange Between Processes TCP Connection-Setup Between Processes
Socket-based Network Communication in J2SE and J2ME
Socket-based Network Communication in J2SE and J2ME 1 C/C++ BSD Sockets in POSIX POSIX functions allow to access network connection in the same way as regular files: There are special functions for opening
Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application. Author: Fung, King Pong
Dissertation Title: SOCKS5-based Firewall Support For UDP-based Application Author: Fung, King Pong MSc in Information Technology The Hong Kong Polytechnic University June 1999 i Abstract Abstract of dissertation
Chapter 3. Internet Applications and Network Programming
Chapter 3 Internet Applications and Network Programming 1 Introduction The Internet offers users a rich diversity of services none of the services is part of the underlying communication infrastructure
OCS Training Workshop LAB14. Email Setup
OCS Training Workshop LAB14 Email Setup Introduction The objective of this lab is to provide the skills to develop and trouble shoot email messaging. Overview Electronic mail (email) is a method of exchanging
Project Report on Implementation and Testing of an HTTP/1.0 Webserver
Project Report on Implementation and Testing of an HTTP/1.0 Webserver Christian Fritsch, Krister Helbing, Fabian Rakebrandt, Tobias Staub Practical Course Telematics Teaching Assistant: Ingo Juchem Instructor:
DEPLOYMENT GUIDE Version 1.1. DNS Traffic Management using the BIG-IP Local Traffic Manager
DEPLOYMENT GUIDE Version 1.1 DNS Traffic Management using the BIG-IP Local Traffic Manager Table of Contents Table of Contents Introducing DNS server traffic management with the BIG-IP LTM Prerequisites
1 An application in BPC: a Web-Server
1 An application in BPC: a Web-Server We briefly describe our web-server case-study, dwelling in particular on some of the more advanced features of the BPC framework, such as timeouts, parametrized events,
SOA Software: Troubleshooting Guide for Agents
SOA Software: Troubleshooting Guide for Agents SOA Software Troubleshooting Guide for Agents 1.1 October, 2013 Copyright Copyright 2013 SOA Software, Inc. All rights reserved. Trademarks SOA Software,
Common Lisp Networking API Advantages and Disadvantages
Common Lisp Sockets APIs An analysis and proposal Dave Roberts dave-at-findinglisp-com www.findinglisp.com Version 0.2.5, 27-Dec-2005 1 Introduction In recent years, network programming has increased steadily
Network Load Balancing
Network Load Balancing Step by Step installation of Network Load Balancing in Windows Server 2008 R2. Prerequisite for NLB Cluster 1. Log on to NODE1 Windows Server 2008 R2 system with a domain account
IERG 4080 Building Scalable Internet-based Services
Department of Information Engineering, CUHK Term 1, 2015/16 IERG 4080 Building Scalable Internet-based Services Lecture 4 Load Balancing Lecturer: Albert C. M. Au Yeung 30 th September, 2015 Web Server
Programming IoT Gateways With macchina.io
Programming IoT Gateways With macchina.io Günter Obiltschnig Applied Informatics Software Engineering GmbH Maria Elend 143 9182 Maria Elend Austria [email protected] This article shows how
Socket programming. Socket Programming. Languages and Platforms. Sockets. Rohan Murty Hitesh Ballani. Last Modified: 2/8/2004 8:30:45 AM
Socket Programming Rohan Murty Hitesh Ballani Last Modified: 2/8/2004 8:30:45 AM Slides adapted from Prof. Matthews slides from 2003SP Socket programming Goal: learn how to build client/server application
IMF Tune Quarantine & Reporting Running SQL behind a Firewall. WinDeveloper Software Ltd.
IMF Tune Quarantine & Reporting Running SQL behind a Firewall WinDeveloper Software Ltd. 1 Basic Setup Quarantine & Reporting Web Interface must be installed on the same Windows Domain as the SQL Server
Web Browsing Examples. How Web Browsing and HTTP Works
How Web Browsing and HTTP Works 1 1 2 Lets consider an example that shows how web browsing and HTTP work. The example will cover a simple, but very common case. There are many more details of HTTP that
StreamServe Persuasion SP4 Service Broker
StreamServe Persuasion SP4 Service Broker User Guide Rev A StreamServe Persuasion SP4 Service Broker User Guide Rev A 2001-2009 STREAMSERVE, INC. ALL RIGHTS RESERVED United States patent #7,127,520 No
MarkLogic Server. Node.js Application Developer s Guide. MarkLogic 8 February, 2015. Copyright 2016 MarkLogic Corporation. All rights reserved.
Node.js Application Developer s Guide 1 MarkLogic 8 February, 2015 Last Revised: 8.0-5, March, 2016 Copyright 2016 MarkLogic Corporation. All rights reserved. Table of Contents Table of Contents Node.js
