Client-server Sockets

Size: px
Start display at page:

Download "Client-server Sockets"

Transcription

1 Client-server Sockets 1

2 How to Write a Network Based Program (Using Microchip's TCP/IP Stack) A network based program that uses the Client-server architecture must create at least two separate programs, which are intended to run on different hosts. One of these programs plays the role of the server, and the other plays the role of the client. For the server program, initially, a software structure, called a Server Socket must be created. Once a server socket has been created and started, then the server can listen for client connections and exchange data with a connected client. The type of the socket must be a TCP server socket, because, as discussed previously, we are using TCP. 2

3 How to Write a Network Based Program (Using Microchip's TCP/IP Stack) For the client program, initially, a software structure, called a Client Socket must be created. Once a client socket has been created, then the client may connect to a running server and exchange data with it. Each program is said to bind a software socket to its end of the connection. To communicate, the client and the server each reads from and writes to the socket bound to the connection. 3

4 We will now explain how to create a client socket and a server socket on the MX7cK board, using the C language and Microchip s TCP/IP Stack API. We focus on the server socket on the MX7cK board, because, in our ultimate application for this course, the MX7cK board will play the role of a server to make available its sensor readings to any client host that may connect to it. Project 1 will use a telnet client to create a TCP client socket to connect with the TCP server socket on the MX7cK board. Later on in the course, when Project 2 is being done, we will explain how to create a client socket and a server socket using the Java language and its Networking API and the Socket class. With a server socket running on the MX7cK board, we can then use the Java client on a remote host to make connections with the MX7cK board and communicate data. 4

5 Overview of Microchip s TCP/IP API (From [1]) 5

6 TCP_SOCKET TCPOpen ( DWORD dwremotehost, BYTE vremotehosttype, WORD wport, BYTE vsocketpurpose ); Function Prototype TCP_SOCKET TCPOpen(DWORD dwremotehost, BYTE vremotehosttype, WORD wport, BYTE vsocketpurpose); Duel purpose function, i.e., it can be used to create/open a client socket and a server socket. See \xc32\v1.33\pic32mx\include\generictypedefs.h for typedefs of DWORD, BYTE, WORD, etc. 6

7 Used by client Sockets only This makes sense because a client socket needs to specify to which server the socket should connect, while the server socket is the one being connected to. A server socket would use null here. If you are creating a client socket, then dwremotehost accepts: String of the remote host name, e.g.: String of the IP address of the remote host, e.g.: Literal of IP address, e.g.: 0x7B01A8C0 (literal of in Hex) Pointer to a NODE_INFO structure with the remote IP address specified. 7

8 Identifies the meaning of dwremotehost TCP_OPEN_SERVER Opens a server socket and ignores dwremotehost TCP_OPEN_RAM_HOST Open a client socket to Host, where the ID is specified by a string TCP_OPEN_ROM_HOST Same as above for RAM deficient systems TCP_OPENIP_ADDRESS Open a client socket to Host, where the ID is specified by a literal TCP_OPEN_NODE_INFO Open a client socket to Host, where the ID is specified by a node structure 8

9 TCP Port to listen to (for server socket) or connect to (client socket) For a Client Socket, This specifies the remote TCP port to which a connection should be made. Note: the local TCP port for client sockets will be automatically picked by the TCP API. For a Server Socket, This specifies the local TCP port on which the server should listen for connections. 9

10 vsocketpurpose Identification of the Socket Used to identify the pre-specified socket data structure. A data structure must be created, statically at compile time, for each socket the software will use at run time. Note: mainstream TCP/IP stacks create sockets dynamically at run time on demand. 10

11 // Open a server socket: listen to port 7777 MySocket = TCPOpen( 0, TCP_OPEN_SERVER, 7777, MY_PRE_SPECIFIED_SOCKET ); 11

12 You must set certain information for each socket you intend on using in your application. When the program first begins to run, the Stack Initialization routine uses your information to allocate memory for your socket(s). It does this once throughout the entire program. Note that the standard way of creating sockets in the C language is dynamically and at anytime when the program runs. In other words, when an application needs a socket, it creates one and uses the malloc() function to allocate memory dynamically. However, Microchip s TCP/IP stack API does not support dynamic memory allocation for the socket structures; The API expects you to set information about a socket before compile time, and then once that socket has been allocated memory by the Stack Initialization routine, then you can refer to that socket when you use TCPOpen() and other socket based operations, like reading and writing. 12

13 Four initialization parameters need to be specified in TCPIP ETH795.h for each of your sockets 1. Purpose of that socket (this is just an identifier) 2. Add your socket to the Socket Initializer Structure, and set the type of memory the socket should be stored in (RAM/ROM), and the sizes of the transmit FIFO and the receive FIFO. 3. Determine and set the total memory required for all sockets, including your addition. During initialization of the application, the stack software will create a TCP Control Block (TCB) with the above information for each socket. The TCB is used to control a socket s operations. 13

14 To be Written in TCPIP ETH795.h #define TCP_SOCKET_TYPES #define TCP_PURPOSE_GENERIC_TCP_CLIENT 0 #define TCP_PURPOSE_GENERIC_TCP_SERVER 1 #define TCP_PURPOSE_TELNET 2 #define TCP_PURPOSE_TCP_PERFORMANCE_TX 3 #define TCP_PURPOSE_UART_2_TCP_BRIDGE 4 #define TCP_PURPOSE_HTTP_SERVER 5 #define TCP_PURPOSE_HTTP_SERVER 6 #define TCP_PURPOSE_DEFAULT 7 #define TCP_PURPOSE_BERKELEY_SERVER 8 #define TCP_PURPOSE_LED_SERVER 9 #define END_OF_TCP_SOCKET_TYPES Choose any name you want. Assign it the next number. These are the sockets the Stack already uses. 14

15 2. Add TCP Socket to Initializer Structure To be Written in TCPIP ETH795.h Initially, there were 9 TCP Sockets in the Initializer array: } TCPSocketInitializer[] = { {TCP_PURPOSE_GENERIC_TCP_CLIENT, TCP_PIC_RAM, 125, 1200}, {TCP_PURPOSE_GENERIC_TCP_SERVER, TCP_PIC_RAM, 20, 20}, {TCP_PURPOSE_TELNET, TCP_PIC_RAM, 200, 150}, {TCP_PURPOSE_TCP_PERFORMANCE_TX, TCP_PIC_RAM, 2000, 1}, {TCP_PURPOSE_UART_2_TCP_BRIDGE, TCP_PIC_RAM, 256, 256}, {TCP_PURPOSE_HTTP_SERVER, TCP_PIC_RAM, 1500, 1500}, {TCP_PURPOSE_HTTP_SERVER, TCP_PIC_RAM, 1500, 1500}, {TCP_PURPOSE_DEFAULT, TCP_PIC_RAM, 1000, 1000}, {TCP_PURPOSE_BERKELEY_SERVER, TCP_PIC_RAM, 25, 20}, {TCP_PURPOSE_LED_SERVER, TCP_PIC_RAM, 200, 20} //My Socket }; Identifier chosen in previous slide. Use RAM, since the board has plenty. Determine how large your transmit buffer for your application should be. This is the size of the TxFIFO. Likewise determine how large your receive buffer for your application should be. This is the size of the RxFIFO. 15

16 3. Allocate memory for your Socket To be Written in TCPIP ETH795.h To add memory for the TCP_PURPOSE_LED_SERVER socket: #define TCP_ETH_RAM_SIZE (0ul) #define TCP_SPI_RAM_SIZE (0ul) #define TCP_SPI_RAM_BASE_ADDRESS (0x00) #define TCP_PIC_RAM_SIZE ( * ) Initial size Memory needed for your socket. TxFIFO and RxFIFO each need an extra byte Sizeof TCB Control Block TxFIFO Size RxFIFO Size 16

17 Note: Calculation of Initial Size Initially, there were nine TCP Sockets in the Initializer array: TCPSocketInitializer[] = { {TCP_PURPOSE_GENERIC_TCP_CLIENT, TCP_PIC_RAM, 125, 1200}, {TCP_PURPOSE_GENERIC_TCP_SERVER, TCP_PIC_RAM, 20, 20}, {TCP_PURPOSE_TELNET, TCP_PIC_RAM, 200, 150}, {TCP_PURPOSE_TCP_PERFORMANCE_TX, TCP_PIC_RAM, 2000, 1}, {TCP_PURPOSE_UART_2_TCP_BRIDGE, TCP_PIC_RAM, 256, 256}, {TCP_PURPOSE_HTTP_SERVER, TCP_PIC_RAM, 1500, 1500}, {TCP_PURPOSE_HTTP_SERVER, TCP_PIC_RAM, 1500, 1500}, {TCP_PURPOSE_DEFAULT, TCP_PIC_RAM, 1000, 1000}, {TCP_PURPOSE_BERKELEY_SERVER, TCP_PIC_RAM, 25, 20}, }; Initial Size = 9 x sizeof(tcb) + SUM(TxFIFO + RxFIFO) = 9 x 44 + ( ) + (20+20) + + (25+20) =

18 Note: Initially, there are actually 13 socket identifiers in file TCPIP ETH795.h. However, not all of these are used in the ini alizer array (commented out) (Look ). Also, I have added the LED_SERVER socket already. #define TCP_SOCKET_TYPES #define TCP_PURPOSE_GENERIC_TCP_CLIENT 0 #define TCP_PURPOSE_GENERIC_TCP_SERVER 1 #define TCP_PURPOSE_TELNET 2 #define TCP_PURPOSE_FTP_COMMAND 3 #define TCP_PURPOSE_FTP_DATA 4 #define TCP_PURPOSE_TCP_PERFORMANCE_TX 5 #define TCP_PURPOSE_TCP_PERFORMANCE_RX 6 #define TCP_PURPOSE_UART_2_TCP_BRIDGE 7 #define TCP_PURPOSE_HTTP_SERVER 8 #define TCP_PURPOSE_DEFAULT 9 #define TCP_PURPOSE_BERKELEY_SERVER 10 #define TCP_PURPOSE_BERKELEY_CLIENT 11 #define TCP_PURPOSE_LED_SERVER 12 #define END_OF_TCP_SOCKET_TYPES TCPSocketInitializer[] = { {TCP_PURPOSE_GENERIC_TCP_CLIENT, TCP_PIC_RAM, 125, 1200}, {TCP_PURPOSE_GENERIC_TCP_SERVER, TCP_PIC_RAM, 20, 20}, {TCP_PURPOSE_TELNET, TCP_PIC_RAM, 200, 150}, {TCP_PURPOSE_TCP_PERFORMANCE_TX, TCP_PIC_RAM, 2000, 1}, {TCP_PURPOSE_UART_2_TCP_BRIDGE, TCP_PIC_RAM, 256, 256}, {TCP_PURPOSE_HTTP_SERVER, TCP_PIC_RAM, 1500, 1500}, {TCP_PURPOSE_HTTP_SERVER, TCP_PIC_RAM, 1500, 1500}, {TCP_PURPOSE_DEFAULT, TCP_PIC_RAM, 1000, 1000}, {TCP_PURPOSE_BERKELEY_SERVER, TCP_PIC_RAM, 25, 20}, //{TCP_PURPOSE_TELNET, TCP_PIC_RAM, 200, 150}, //{TCP_PURPOSE_TELNET, TCP_PIC_RAM, 200, 150}, //{TCP_PURPOSE_FTP_COMMAND, TCP_PIC_RAM, 100, 40}, //{TCP_PURPOSE_FTP_DATA, TCP_PIC_RAM, 0, 128}, //{TCP_PURPOSE_TCP_PERFORMANCE_RX, TCP_PIC_RAM, 40, 2000}, //{TCP_PURPOSE_BERKELEY_SERVER, TCP_PIC_RAM, 25, 20}, //{TCP_PURPOSE_BERKELEY_SERVER, TCP_PIC_RAM, 25, 20}, //{TCP_PURPOSE_BERKELEY_CLIENT, TCP_PIC_RAM, 125, 100}, {TCP_PURPOSE_LED_SERVER, TCP_PIC_RAM, 200, 20}, }; #define TCP_PIC_RAM_SIZE ( * ) 18

19 You will use the following three types of functions when writing data to a socket: TCPIsPutReady() TCPPut() Family of functions TCPFlush() 19

20 You will use the following two types of functions when reading data from a socket: TCPIsGetReady() TCPGet() Family of functions 20

21 Once you have set your information about a socket, then compile, download, and run your application. When the program starts, the Stack Initialization routine runs, and attempts to allocate memory for your socket(s). If you have correctly specified your socket information, then the LED1 will be blinking. This is a notification that the program and stack are running successfully. If you have incorrectly specified the socket information, then the program will enter an infinite loop. You will observe this because the LED will not be blinking. 21

22 [1] Microchip, Microchip Libraries for Applications Help Files, 14 September [Online]. Available: cname=en [Accessed 23 September 2013]. 22

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 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

More information

Limi Kalita / (IJCSIT) International Journal of Computer Science and Information Technologies, Vol. 5 (3), 2014, 4802-4807. Socket Programming

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

More information

Session NM059. TCP/IP Programming on VMS. Geoff Bryant Process Software

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

More information

Socket Services Section 6-6

Socket Services Section 6-6 Number of Bytes to Send/ Receive Send/Receive Data Address Send the number of bytes to be sent or the number of bytes to receive. When the transfer has been completed, the actual number of bytes that have

More information

AN833. The Microchip TCP/IP Stack INTRODUCTION STACK ARCHITECTURE REFERENCE MODEL

AN833. The Microchip TCP/IP Stack INTRODUCTION STACK ARCHITECTURE REFERENCE MODEL M AN833 The Microchip TCP/IP Stack Author: INTRODUCTION Nilesh Rajbharti Microchip Technology Inc. There is nothing new about implementing TCP/IP (Transmission Control Protocol/Internet Protocol) on Microchip

More information

Network Programming TDC 561

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

More information

Computer Networks/DV2 Lab

Computer Networks/DV2 Lab Computer Networks/DV2 Lab Room: BB 219 Additional Information: http://ti.uni-due.de/ti/en/education/teaching/ss13/netlab Equipment for each group: - 1 Server computer (OS: Windows Server 2008 Standard)

More information

Illustration 1: Diagram of program function and data flow

Illustration 1: Diagram of program function and data flow The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline

More information

COMMMUNICATING COOPERATING PROCESSES

COMMMUNICATING COOPERATING PROCESSES COMMMUNICATING COOPERATING PROCESSES The producer-consumer paradigm A buffer of items can be filled by the producer and emptied by the consumer. The producer and the consumer must be synchronized: the

More information

Socket = an interface connection between two (dissimilar) pipes. OS provides this API to connect applications to networks. home.comcast.

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

More information

An Android-based Instant Message Application

An Android-based Instant Message Application An Android-based Instant Message Application Qi Lai, Mao Zheng and Tom Gendreau Department of Computer Science University of Wisconsin - La Crosse La Crosse, WI 54601 mzheng@uwlax.edu Abstract One of the

More information

EECS 354 Network Security. Introduction

EECS 354 Network Security. Introduction EECS 354 Network Security Introduction Why Learn To Hack Understanding how to break into computer systems allows you to better defend them Learn how to think like an attacker Defense then becomes second-nature

More information

Network Communication

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

More information

MATLAB/Simulink TCP/IP Communication

MATLAB/Simulink TCP/IP Communication MATLAB/Simulink TCP/IP Communication MARTIN SYSEL Department of Computer and Communication Systems Faculty of Applied Informatics Tomas Bata University in Zlín nám. T. G. Masaryka 5555, 760 01 Zlín CZECH

More information

presentation DAD Distributed Applications Development Cristian Toma

presentation DAD Distributed Applications Development Cristian Toma Lecture 5 S2 - Summary of Network Protocols Programming in JSE for Distributed Systems Section 2 presentation DAD Distributed Applications Development Cristian Toma D.I.C.E/D.E.I.C Department of Economic

More information

µtasker Document FTP Client

µ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.

More information

FileMaker 13. ODBC and JDBC Guide

FileMaker 13. ODBC and JDBC Guide FileMaker 13 ODBC and JDBC Guide 2004 2013 FileMaker, Inc. All Rights Reserved. FileMaker, Inc. 5201 Patrick Henry Drive Santa Clara, California 95054 FileMaker and Bento are trademarks of FileMaker, Inc.

More information

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service

DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service DB2 Connect for NT and the Microsoft Windows NT Load Balancing Service Achieving Scalability and High Availability Abstract DB2 Connect Enterprise Edition for Windows NT provides fast and robust connectivity

More information

Introduction to Socket Programming Part I : TCP Clients, Servers; Host information

Introduction to Socket Programming Part I : TCP Clients, Servers; Host information Introduction to Socket Programming Part I : TCP Clients, Servers; Host information Keywords: sockets, client-server, network programming-socket functions, OSI layering, byte-ordering Outline: 1.) Introduction

More information

Network Layers. CSC358 - Introduction to Computer Networks

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

More information

Spring Design ScreenShare Service SDK Instructions

Spring Design ScreenShare Service SDK Instructions Spring Design ScreenShare Service SDK Instructions V1.0.8 Change logs Date Version Changes 2013/2/28 1.0.0 First draft 2013/3/5 1.0.1 Redefined some interfaces according to issues raised by Richard Li

More information

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 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

More information

OCS Training Workshop LAB14. Email Setup

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

More information

ELEN 602: Computer Communications and Networking. Socket Programming Basics

ELEN 602: Computer Communications and Networking. Socket Programming Basics 1 ELEN 602: Computer Communications and Networking Socket Programming Basics A. Introduction In the classic client-server model, the client sends out requests to the server, and the server does some processing

More information

Revision: 002 Date: September 2006. Porting Guide From EdSoft V3.10 to WIPSoft V2.00

Revision: 002 Date: September 2006. Porting Guide From EdSoft V3.10 to WIPSoft V2.00 Revision: 002 Date: September 2006 Porting Guide From EdSoft V3.10 to WIPSoft V2.00 PORTING GUIDE FROM EDSOFT V3.10 TO WIP SOFT V2.00 Reference: WM_DEV_OAT_UGD_027 Revision : 002 Date: 26th September 2006

More information

Chapter 2: Remote Procedure Call (RPC)

Chapter 2: Remote Procedure Call (RPC) Chapter 2: Remote Procedure Call (RPC) Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ Contents - Chapter 2 - RPC

More information

3.5. cmsg Developer s Guide. Data Acquisition Group JEFFERSON LAB. Version

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 wolin@jlab.org Carl Timmer timmer@jlab.org

More information

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper

Network Licensing. White Paper 0-15Apr014ks(WP02_Network) Network Licensing with the CRYPTO-BOX. White Paper WP2 Subject: with the CRYPTO-BOX Version: Smarx OS PPK 5.90 and higher 0-15Apr014ks(WP02_Network).odt Last Update: 28 April 2014 Target Operating Systems: Windows 8/7/Vista (32 & 64 bit), XP, Linux, OS

More information

Stack Allocation. Run-Time Data Structures. Static Structures

Stack Allocation. Run-Time Data Structures. Static Structures Run-Time Data Structures Stack Allocation Static Structures For static structures, a fixed address is used throughout execution. This is the oldest and simplest memory organization. In current compilers,

More information

IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011

IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011 IPv6 Challenges for Embedded Systems István Gyürki 30.08.2011 AGENDA Introduction IPv6 why do we need it? Selecting the right TCP/IP stack Case study Conclusions Page 2 Company Profile Wireless Products

More information

Network Attached Storage. Jinfeng Yang Oct/19/2015

Network Attached Storage. Jinfeng Yang Oct/19/2015 Network Attached Storage Jinfeng Yang Oct/19/2015 Outline Part A 1. What is the Network Attached Storage (NAS)? 2. What are the applications of NAS? 3. The benefits of NAS. 4. NAS s performance (Reliability

More information

TCP/IP Networking, Part 2: Web-Based Control

TCP/IP Networking, Part 2: Web-Based Control TCP/IP Networking, Part 2: Web-Based Control Microchip TCP/IP Stack HTTP2 Module 2007 Microchip Technology Incorporated. All Rights Reserved. Building Embedded Web Applications Slide 1 Welcome to the next

More information

The guide about TCP/IP connections between PC s and PLC s

The guide about TCP/IP connections between PC s and PLC s By Rasmus Frederiksen Contents: INTRO 2 OVERVIEW 2 THE GUIDE 2 THE PLC SIDE OF THE CONNECTION 2 THE PC SIDE OF THE CONNECTION 8 SOURCE REFERENCES 11 Intro I am studying to become a type of electrician

More information

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications

The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications The BSN Hardware and Software Platform: Enabling Easy Development of Body Sensor Network Applications Joshua Ellul jellul@imperial.ac.uk Overview Brief introduction to Body Sensor Networks BSN Hardware

More information

Chapter 3. Internet Applications and Network Programming

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

More information

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2

Job Reference Guide. SLAMD Distributed Load Generation Engine. Version 1.8.2 Job Reference Guide SLAMD Distributed Load Generation Engine Version 1.8.2 June 2004 Contents 1. Introduction...3 2. The Utility Jobs...4 3. The LDAP Search Jobs...11 4. The LDAP Authentication Jobs...22

More information

Skywire TCP Socket Examples

Skywire TCP Socket Examples Skywire TCP Socket Examples NimbeLink, LLC Published: April 2014 PN 30015 rev 1 NimbeLink, LLC All Rights Reserved. 1 1. TCP SOCKET OPERATIONS The following examples illustrate a few TCP socket operations

More information

Chapter 14 Analyzing Network Traffic. Ed Crowley

Chapter 14 Analyzing Network Traffic. Ed Crowley Chapter 14 Analyzing Network Traffic Ed Crowley 10 Topics Finding Network Based Evidence Network Analysis Tools Ethereal Reassembling Sessions Using Wireshark Network Monitoring Intro Once full content

More information

Transparent Redirection of Network Sockets 1

Transparent Redirection of Network Sockets 1 Transparent Redirection of Network Sockets 1 Timothy S. Mitrovich, Kenneth M. Ford, and Niranjan Suri Institute for Human & Machine Cognition University of West Florida {tmitrovi,kford,nsuri}@ai.uwf.edu

More information

The C Programming Language course syllabus associate level

The C Programming Language course syllabus associate level TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming

More information

Development of complex KNX Devices

Development of complex KNX Devices WEINZIERL ENGINEERING GmbH WEINZIERL ENGINEERING GMBH Jason Richards 84558 Tyrlaching GERMANY Phone +49 (0) 8623 / 987 98-03 Web: www.weinzierl.de Development of complex KNX Devices Abstract The KNX World

More information

Lecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists

Lecture 11 Doubly Linked Lists & Array of Linked Lists. Doubly Linked Lists Lecture 11 Doubly Linked Lists & Array of Linked Lists In this lecture Doubly linked lists Array of Linked Lists Creating an Array of Linked Lists Representing a Sparse Matrix Defining a Node for a Sparse

More information

Network Configuration Settings

Network Configuration Settings Network Configuration Settings Many small businesses already have an existing firewall device for their local network when they purchase Microsoft Windows Small Business Server 2003. Often, these devices

More information

CA CPT CICS Programmers Toolkit for TCP/IP r6.1

CA CPT CICS Programmers Toolkit for TCP/IP r6.1 PRODUCT BRIEF: CA CPT CICS PROGRAMMERS TOOLKIT FOR TCP/IP CA CPT CICS Programmers Toolkit for TCP/IP r6.1 CA CPT CICS PROGRAMMERS' TOOLKIT FOR TCP/IP PROVIDES CICS PROGRAMMERS WITH AN EASY TO USE SET OF

More information

Socket Programming in C/C++

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

More information

Application. Transport. Network. Data Link. Physical. Network Layers. Goal

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

More information

Transport Layer Protocols

Transport Layer Protocols Transport Layer Protocols Version. Transport layer performs two main tasks for the application layer by using the network layer. It provides end to end communication between two applications, and implements

More information

Writing Client/Server Programs in C Using Sockets (A Tutorial) Part I. Session 5958. Greg Granger grgran@sas. sas.com. SAS/C & C++ Support

Writing Client/Server Programs in C Using Sockets (A Tutorial) Part I. Session 5958. Greg Granger grgran@sas. sas.com. SAS/C & C++ Support Writing Client/Server Programs in C Using Sockets (A Tutorial) Part I Session 5958 Greg Granger grgran@sas sas.com SAS Slide 1 Feb. 1998 SAS/C & C++ Support SAS Institute Part I: Socket Programming Overview

More information

Socket Programming. Request. Reply. Figure 1. Client-Server paradigm

Socket Programming. Request. Reply. Figure 1. Client-Server paradigm Socket Programming 1. Introduction In the classic client-server model, the client sends out requests to the server, and the server does some processing with the request(s) received, and returns a reply

More information

Building a Multi-Threaded Web Server

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

More information

cnds@napier Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer)

cnds@napier Slide 1 Introduction cnds@napier 1 Lecture 6 (Network Layer) Slide 1 Introduction In today s and next week s lecture we will cover two of the most important areas in networking and the Internet: IP and TCP. These cover the network and transport layer of the OSI

More information

Using AT commands to control TCP/IP stack on SM5100B-D modules

Using AT commands to control TCP/IP stack on SM5100B-D modules Using AT commands to control TCP/IP stack on SM5100B-D modules Revision history Version Date Author Update description 1.0 20080620 Steven Create Shao 1.1 20080920 Steven Shao Added AT+SDATATSEND/SDATATREAD

More information

Application Architecture

Application Architecture A Course on Internetworking & Network-based Applications CS 6/75995 Internet-based Applications & Systems Design Kent State University Dept. of Science LECT-2 LECT-02, S-1 2 Application Architecture Today

More information

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria

Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols. Anthony J. Howe Supervisor: Dr. Mantis Cheng University of Victoria Napster and Gnutella: a Comparison of two Popular Peer-to-Peer Protocols Anthony J Howe Supervisor: Dr Mantis Cheng University of Victoria February 28, 2002 Abstract This article presents the reverse engineered

More information

Fast remote data access for control of TCP/IP network using android Mobile device

Fast remote data access for control of TCP/IP network using android Mobile device RESEARCH ARTICLE OPEN ACCESS Fast remote data access for control of TCP/IP network using android Mobile device Vaibhav Muddebihalkar *, R.M Gaudar** (Department of Computer Engineering, MIT AOE Alandi

More information

How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)

How To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint) TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions

More information

Application Development with TCP/IP. Brian S. Mitchell Drexel University

Application Development with TCP/IP. Brian S. Mitchell Drexel University Application Development with TCP/IP Brian S. Mitchell Drexel University Agenda TCP/IP Application Development Environment Client/Server Computing with TCP/IP Sockets Port Numbers The TCP/IP Application

More information

KB259302 - Windows 2000 DNS Event Messages 1 Through 1614

KB259302 - Windows 2000 DNS Event Messages 1 Through 1614 Page 1 of 6 Knowledge Base Windows 2000 DNS Event Messages 1 Through 1614 PSS ID Number: 259302 Article Last Modified on 10/29/2003 The information in this article applies to: Microsoft Windows 2000 Server

More information

RTI Routing Service. Release Notes

RTI Routing Service. Release Notes RTI Routing Service Release Notes Version 5.0.0 2012 Real-Time Innovations, Inc. All rights reserved. Printed in U.S.A. First printing. August 2012. Trademarks Real-Time Innovations, RTI, and Connext are

More information

TCP/IP - Socket Programming

TCP/IP - Socket Programming TCP/IP - Socket Programming jrb@socket.to.me Jim Binkley 1 sockets - overview sockets simple client - server model look at tcpclient/tcpserver.c look at udpclient/udpserver.c tcp/udp contrasts normal master/slave

More information

TCP Session Management (SesM) Protocol Specification

TCP Session Management (SesM) Protocol Specification TCP Session Management (SesM) Protocol Specification Revision Date: 08/13/2015 Version: 1.1e Copyright 2015 Miami International Securities Exchange, LLC. All rights reserved. This constitutes information

More information

Chakchai So-In, Ph.D.

Chakchai So-In, Ph.D. Application Layer Functionality and Protocols Chakchai So-In, Ph.D. Khon Kaen University Department of Computer Science Faculty of Science, Khon Kaen University 123 Mitaparb Rd., Naimaung, Maung, Khon

More information

Division of Informatics, University of Edinburgh

Division of Informatics, University of Edinburgh CS1Bh Lecture Note 20 Client/server computing A modern computing environment consists of not just one computer, but several. When designing such an arrangement of computers it might at first seem that

More information

SSL (Secure Socket Layer)

SSL (Secure Socket Layer) eztcp Application Note SSL (Secure Socket Layer) Version 1.2 Sollae Systems Co., Ltd. http://www.eztcp.com Contents 1 INTRODUCTION...- 2-1.1 SSL (Secure Socket Layer)...- 2-1.2 SSL with the eztcp... -

More information

Learning Outcomes. Networking. Sockets. TCP/IP Networks. Hostnames and DNS TCP/IP

Learning Outcomes. Networking. Sockets. TCP/IP Networks. Hostnames and DNS TCP/IP CP4044 Lecture 7 1 Networking Learning Outcomes To understand basic network terminology To be able to communicate using Telnet To be aware of some common network services To be able to implement client

More information

MeshBee Open Source ZigBee RF Module CookBook

MeshBee Open Source ZigBee RF Module CookBook MeshBee Open Source ZigBee RF Module CookBook 2014 Seeed Technology Inc. www.seeedstudio.com 1 Doc Version Date Author Remark v0.1 2014/05/07 Created 2 Table of contents Table of contents Chapter 1: Getting

More information

Android Fundamentals 1

Android Fundamentals 1 Android Fundamentals 1 What is Android? Android is a lightweight OS aimed at mobile devices. It is essentially a software stack built on top of the Linux kernel. Libraries have been provided to make tasks

More information

Java Network. Slides prepared by : Farzana Rahman

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

More information

DeviceMaster UP Modbus Controller to Controller Communication

DeviceMaster UP Modbus Controller to Controller Communication DeviceMaster UP Modbus Controller to Controller Communication UP Today s Modbus installations are becoming increasingly complex. More and more installations are requiring the use of multiple Modbus controllers

More information

Cluster APIs. Cluster APIs

Cluster APIs. Cluster APIs Cluster APIs Cluster APIs Cluster APIs include: Cluster Control APIs Cluster Resource Group APIs Cluster Resource Group Exit Program Topics covered here are: Cluster APIs Cluster Resource Services Characteristics

More information

Ping Device Driver Help. 2009 Schneider Electric

Ping Device Driver Help. 2009 Schneider Electric 2009 Schneider Electric 1 Table of Contents 1 Getting Started... 2 Help Contents... 2 Overview... 2 2 Device Setup... 2 Device Setup... 2 3 Automatic Tag... Database Generation 2 Automatic Tag... Database

More information

Performance Monitoring. Of The. Apache Web Server

Performance Monitoring. Of The. Apache Web Server 1 Performance Monitoring Of The Apache Web Server By Radha Subrahmanyan Student Number: 1232357 An engineering report submitted to the School of Information Technology and Engineering at the University

More information

Network Pop Quiz 5 Brought to you by www.rmroberts.com please visit our site!

Network Pop Quiz 5 Brought to you by www.rmroberts.com please visit our site! Network Pop Quiz 5 Brought to you by www.rmroberts.com please visit our site! This is a set of questions to help you prepared for the CompTIA Network+ certification examination. You should not exceed twenty

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Tutorial on Socket Programming

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

More information

Network Programming using 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

More information

Measurement of the Usage of Several Secure Internet Protocols from Internet Traces

Measurement of the Usage of Several Secure Internet Protocols from Internet Traces Measurement of the Usage of Several Secure Internet Protocols from Internet Traces Yunfeng Fei, John Jones, Kyriakos Lakkas, Yuhong Zheng Abstract: In recent years many common applications have been modified

More information

Cross-platform TCP/IP Socket Programming in REXX

Cross-platform TCP/IP Socket Programming in REXX Cross-platform TCP/IP Socket programming in REXX Abstract: TCP/IP is the key modern network technology, and the various REXX implementations have useful, if incompatible interfaces to it. In this session,

More information

Transport Layer. Chapter 3.4. Think about

Transport Layer. Chapter 3.4. Think about Chapter 3.4 La 4 Transport La 1 Think about 2 How do MAC addresses differ from that of the network la? What is flat and what is hierarchical addressing? Who defines the IP Address of a device? What is

More information

Socket Programming. Announcement. Lectures moved to

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

More information

NS3 Lab 1 TCP/IP Network Programming in C

NS3 Lab 1 TCP/IP Network Programming in C NS3 Lab 1 TCP/IP Network Programming in C Dr Colin Perkins School of Computing Science University of Glasgow http://csperkins.org/teaching/ns3/ 13/14 January 2015 Introduction The laboratory exercises

More information

Oracle Solaris Studio Code Analyzer

Oracle Solaris Studio Code Analyzer Oracle Solaris Studio Code Analyzer The Oracle Solaris Studio Code Analyzer ensures application reliability and security by detecting application vulnerabilities, including memory leaks and memory access

More information

Disfer. Sink - Sensor Connectivity and Sensor Android Application. Protocol implementation: Charilaos Stais (stais AT aueb.gr)

Disfer. Sink - Sensor Connectivity and Sensor Android Application. Protocol implementation: Charilaos Stais (stais AT aueb.gr) Disfer Sink - Sensor Connectivity and Sensor Android Application Protocol implementation: Charilaos Stais (stais AT aueb.gr) Android development: Dimitri Balerinas (dimi.balerinas AT gmail.com) Supervised

More information

TCP Performance Management for Dummies

TCP Performance Management for Dummies TCP Performance Management for Dummies Nalini Elkins Inside Products, Inc. Monday, August 8, 2011 Session Number 9285 Our SHARE Sessions Orlando 9285: TCP/IP Performance Management for Dummies Monday,

More information

File Transfer Protocol (FTP) Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Fall 2007, TAIWAN

File Transfer Protocol (FTP) Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Fall 2007, TAIWAN File Transfer Protocol (FTP) Chuan-Ming Liu Computer Science and Information Engineering National Taipei University of Technology Fall 2007, TAIWAN 1 Contents CONNECTIONS COMMUNICATION COMMAND PROCESSING

More information

Operating Systems and Networks

Operating Systems and Networks recap Operating Systems and Networks How OS manages multiple tasks Virtual memory Brief Linux demo Lecture 04: Introduction to OS-part 3 Behzad Bordbar 47 48 Contents Dual mode API to wrap system calls

More information

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies)

Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Course Name: ADVANCE COURSE IN SOFTWARE DEVELOPMENT (Specialization:.Net Technologies) Duration of Course: 6 Months Fees: Rs. 25,000/- (including Service Tax) Eligibility: B.E./B.Tech., M.Sc.(IT/ computer

More information

Zarząd (7 osób) F inanse (13 osób) M arketing (7 osób) S przedaż (16 osób) K adry (15 osób)

Zarząd (7 osób) F inanse (13 osób) M arketing (7 osób) S przedaż (16 osób) K adry (15 osób) QUESTION NO: 8 David, your TestKing trainee, asks you about basic characteristics of switches and hubs for network connectivity. What should you tell him? A. Switches take less time to process frames than

More information

Windows Sockets Network Programming

Windows Sockets Network Programming Windows Sockets Network Programming Bob Quinn Dave Shute TT ADDISON-WESLEY PUBLISHING COMPANY Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn

More information

Interprocess Communication Message Passing

Interprocess Communication Message Passing Interprocess Communication Message Passing IPC facility provides two operations: send(message) message size fixed or variable receive(message) If P and Q wish to communicate, they need to: establish a

More information

Objectives of Lecture. Network Architecture. Protocols. Contents

Objectives of Lecture. Network Architecture. Protocols. Contents Objectives of Lecture Network Architecture Show how network architecture can be understood using a layered approach. Introduce the OSI seven layer reference model. Introduce the concepts of internetworking

More information

Question: 3 When using Application Intelligence, Server Time may be defined as.

Question: 3 When using Application Intelligence, Server Time may be defined as. 1 Network General - 1T6-521 Application Performance Analysis and Troubleshooting Question: 1 One component in an application turn is. A. Server response time B. Network process time C. Application response

More information

Providing a jump start to EFI application development and a uniform pre-boot environment

Providing a jump start to EFI application development and a uniform pre-boot environment Providing a jump start to EFI application development and a uniform pre-boot environment Yosi Govezensky Program Manager Microcomputer Software Corp. February 15-17, 2000 Agenda l EFI Application Toolkit

More information

UFTP High-performance data transfer for UNICORE

UFTP High-performance data transfer for UNICORE Mitglied der Helmholtz-Gemeinschaft UFTP High-performance data transfer for UNICORE Dr. Bernd Schuller, Tim Pohlmann Federated Systems and Data division Jülich Supercomputer Centre Forschungszentrum Jülich

More information

SCUOLA SUPERIORE SANT ANNA 2007/2008

SCUOLA SUPERIORE SANT ANNA 2007/2008 Master degree report Implementation of System and Network Monitoring Solution Netx2.0 By Kanchanna RAMASAMY BALRAJ In fulfillment of INTERNATIONAL MASTER ON INFORMATION TECHNOLOGY SCUOLA SUPERIORE SANT

More information

Linux Distributed Security Module 1

Linux Distributed Security Module 1 Linux Distributed Security Module 1 By Miroslaw Zakrzewski and Ibrahim Haddad This article describes the implementation of Mandatory Access Control through a Linux kernel module that is targeted for Linux

More information

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2

Network-Oriented Software Development. Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Network-Oriented Software Development Course: CSc4360/CSc6360 Instructor: Dr. Beyah Sessions: M-W, 3:00 4:40pm Lecture 2 Topics Layering TCP/IP Layering Internet addresses and port numbers Encapsulation

More information

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET)

2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) 2- Electronic Mail (SMTP), File Transfer (FTP), & Remote Logging (TELNET) There are three popular applications for exchanging information. Electronic mail exchanges information between people and file

More information

Operating Systems Design 16. Networking: Sockets

Operating Systems Design 16. Networking: Sockets Operating Systems Design 16. Networking: Sockets Paul Krzyzanowski pxk@cs.rutgers.edu 1 Sockets IP lets us send data between machines TCP & UDP are transport layer protocols Contain port number to identify

More information

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015

Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015 CS168 Computer Networks Jannotti Project 4: IP over DNS Due: 11:59 PM, Dec 14, 2015 Contents 1 Introduction 1 2 Components 1 2.1 Creating the tunnel..................................... 2 2.2 Using the

More information