<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Computer_network_programming</id>
	<title>Computer network programming - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Computer_network_programming"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Computer_network_programming&amp;action=history"/>
	<updated>2026-04-22T14:39:13Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Computer_network_programming&amp;diff=2200998&amp;oldid=prev</id>
		<title>imported&gt;Như Gây Mê: Undid edits by 87.251.25.103 (talk) to last version by AnnaBSP</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Computer_network_programming&amp;diff=2200998&amp;oldid=prev"/>
		<updated>2025-05-08T09:02:13Z</updated>

		<summary type="html">&lt;p&gt;Undid edits by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/87.251.25.103&quot; title=&quot;Special:Contributions/87.251.25.103&quot;&gt;87.251.25.103&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:87.251.25.103&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:87.251.25.103 (page does not exist)&quot;&gt;talk&lt;/a&gt;) to last version by AnnaBSP&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Writing computer programs with networking capability}}&lt;br /&gt;
{{one source|date=June 2013}}&lt;br /&gt;
&lt;br /&gt;
{{For|similar terms referring to the hardware technologies committed to computer network programming |Computer network}}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Computer network programming&amp;#039;&amp;#039;&amp;#039; involves writing [[computer programs]] that enable [[process (computing)|processes]] to communicate with each other across a [[computer network]].&amp;lt;ref&amp;gt;{{cite book| url=http://people.scs.carleton.ca/~lanthier/teaching/COMP1406/Notes/COMP1406_Ch12_NetworkProgramming.pdf | archive-url=https://web.archive.org/web/20200305163115/http://people.scs.carleton.ca/~lanthier/teaching/COMP1406/Notes/COMP1406_Ch12_NetworkProgramming.pdf | url-status=dead | archive-date=2020-03-05 | chapter=Chapter 12 - Network Programming | date=2017 | quote=Network Programming involves writing programs that communicate with other programs across a computer network. | title=COMP1406  }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Connection-oriented and connectionless communications ==&lt;br /&gt;
&lt;br /&gt;
Very generally, most of communications can be divided into [[Connection-oriented_communication|connection-oriented]], and [[Connectionless_communication|connectionless]]. Whether a communication is connection-oriented or connectionless, is defined by the [[Communications_protocol|communication protocol]], and not by {{nowr|[[application programming interface]] (API)}}. Examples of the connection-oriented protocols include {{nowr|[[Transmission Control Protocol]] (TCP)}} and {{nowr|[[Sequenced Packet Exchange]] (SPX)}}, and examples of connectionless protocols include {{nowr|[[User Datagram Protocol]] (UDP)}}, &amp;quot;raw IP&amp;quot;, and {{nowr|[[Internetwork Packet Exchange]] (IPX)}}.&lt;br /&gt;
&lt;br /&gt;
== Clients and servers ==&lt;br /&gt;
{{main|client–server model}}&lt;br /&gt;
&lt;br /&gt;
For connection-oriented communications, communication parties usually have different roles. One party is usually waiting for incoming connections; this party is usually referred to as &amp;quot;[[Server_(computing)|server]]&amp;quot;. Another party is the one which initiates connection; this party is usually referred to as &amp;quot;[[Client_(computing)|client]]&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
For connectionless communications, one party (&amp;quot;server&amp;quot;) is usually waiting for an incoming packet, and another party (&amp;quot;client&amp;quot;) is usually understood as the one which sends an unsolicited [[Network_packet|packet]] to &amp;quot;server&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
== Popular protocols and APIs ==&lt;br /&gt;
&lt;br /&gt;
Network programming traditionally covers different layers of [[OSI_model|OSI/ISO model]] (most of application-level programming belongs to L4 and up). The table below contains some examples of popular protocols belonging to different OSI/ISO layers, and popular APIs for them.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! OSI/ISO Layer &lt;br /&gt;
! Protocol&lt;br /&gt;
! API&lt;br /&gt;
|-&lt;br /&gt;
| L3 (network)&lt;br /&gt;
| [[Internet Protocol|IP]]&lt;br /&gt;
| [[Raw socket]]&lt;br /&gt;
|-&lt;br /&gt;
| L4 (transport)&lt;br /&gt;
| [[Transmission Control Protocol|TCP]], [[User Datagram Protocol|UDP]], [[Stream Control Transmission Protocol |SCTP]]&lt;br /&gt;
| [[Berkeley Sockets]]&lt;br /&gt;
|-&lt;br /&gt;
| L5 (session)&lt;br /&gt;
| [[Transport Layer Security|TLS]]&lt;br /&gt;
| [[OpenSSL]]&lt;br /&gt;
|-&lt;br /&gt;
| L7 (application)&lt;br /&gt;
| [[HTTP]]&lt;br /&gt;
| Various&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== See also ==&lt;br /&gt;
&lt;br /&gt;
* [[Software-defined networking]]&lt;br /&gt;
*[[Infrastructure as code]]&lt;br /&gt;
* [[Site reliability engineering]]&lt;br /&gt;
* [[DevOps]]&lt;br /&gt;
&lt;br /&gt;
== References ==&lt;br /&gt;
* W. Richard Stevens: &amp;#039;&amp;#039;&amp;#039;[[UNIX Network Programming]]&amp;#039;&amp;#039;&amp;#039;, Volume 1, Second Edition: Networking APIs: Sockets and XTI, Prentice Hall, 1998, {{ISBN|0-13-490012-X}}&lt;br /&gt;
&lt;br /&gt;
{{reflist}}&lt;br /&gt;
[[Category:Computer networks engineering]]&lt;br /&gt;
[[Category:Computer programming]]&lt;br /&gt;
[[Category:Inter-process communication]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Như Gây Mê</name></author>
	</entry>
</feed>