Client-server Sockets
|
|
- Quentin Dennis
- 8 years ago
- Views:
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 Copyright 1994-2003 by Distinct Corporation All rights reserved Table of Contents 1 Overview... 5 1.1
More informationLimi 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 informationSession 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 informationSocket 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 informationAN833. 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 informationNetwork 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 informationComputer 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 informationIllustration 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 informationCOMMMUNICATING 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 informationSocket = 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 informationAn 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 informationEECS 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 informationNetwork 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 informationMATLAB/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 informationpresentation 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
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 informationFileMaker 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 informationDB2 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 informationIntroduction 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 informationNetwork 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 informationSpring 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 information2057-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 informationOCS 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 informationELEN 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 informationRevision: 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 informationChapter 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 information3.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 informationNetwork 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 informationStack 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 informationIPv6 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 informationNetwork 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 informationTCP/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 informationThe 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 informationThe 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 informationChapter 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 informationJob 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 informationSkywire 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 informationChapter 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 informationTransparent 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 informationThe 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 informationDevelopment 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 informationLecture 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 informationNetwork 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 informationCA 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 informationSocket 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 informationApplication. 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 informationTransport 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 informationWriting 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 informationSocket 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 informationBuilding 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 informationcnds@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 informationUsing 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 informationApplication 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 informationNapster 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 informationFast 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 informationHow 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 informationApplication 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 informationKB259302 - 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 informationRTI 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 informationTCP/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 informationTCP 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 informationChakchai 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 informationDivision 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 informationSSL (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 informationLearning 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 informationMeshBee 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 informationAndroid 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 informationJava 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 informationDeviceMaster 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 informationCluster 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 informationPing 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 informationPerformance 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 informationNetwork 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 informationLast 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 informationTutorial 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 informationNetwork 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 informationMeasurement 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 informationCross-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 informationTransport 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 informationSocket 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 informationNS3 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 informationOracle 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 informationDisfer. 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 informationTCP 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 informationFile 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 informationOperating 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 informationCourse 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 informationZarzą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 informationWindows 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 informationInterprocess 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 informationObjectives 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 informationQuestion: 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 informationProviding 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 informationUFTP 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 informationSCUOLA 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 informationLinux 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 informationNetwork-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 information2- 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 informationOperating 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 informationProject 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