`

网络通信编程1-基本连接

    博客分类:
  • Java
阅读更多

服务器端:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
	public static void main(String[] args) {
		ServerSocket ss = null;
		Socket serverSocket=null;
		try {
			 ss = new ServerSocket(9999);
			 /*
			  * 死循环,服务是不停止的。
			  */
			 while(true){
			 try {
					serverSocket = ss.accept();//等待客户端发来的数据
					System.out.println("connect is success!!!");
					System.out.println("look:" + ss.getLocalPort() + "ip:"
							+ ss.getInetAddress());
					PrintWriter out = new PrintWriter(
							serverSocket.getOutputStream(), true);
					out.println("hello.client");//发送到客户端
					/*
					 * 接收客户端的数据,
					 * serverSocket.getInputStream()接收字节流
					 * InputStreamReader(serverSocket.getInputStream())转换成字符流
					 * BufferedReader(new InputStreamReader(serverSocket.getInputStream()))放到缓冲中。
					 */
					BufferedReader br = new BufferedReader(new InputStreamReader(
							serverSocket.getInputStream()));
					String clientWold = br.readLine();
					System.out.println(clientWold);
				} catch (Exception e) {
						// TODO: handle exception
					}
			 }
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}finally{
			if(ss!=null){
				try {
					ss.close();
				} catch (IOException e) {
					// TODO Auto-generated catch block
					e.printStackTrace();
				}
			}
		}
		
	}
}

 客户端:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class Client {
	public static void main(String[] args) {
		Socket s2 = null;
		try {
		  s2 = new Socket("127.0.0.1",9999);
		  PrintWriter out = new PrintWriter(s2.getOutputStream(), true);
		  out.println("hello.world");//向服务器输出数据。
		  /*
		   * 接收服务器的数据。
		   */
		  BufferedReader br = new BufferedReader(new InputStreamReader(s2.getInputStream()));
		  String serverWord =  br.readLine();
		  System.out.println(serverWord);
		} catch (UnknownHostException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			if(s2!=null){
				try {
					s2.close();
				} catch (IOException e) {
					e.printStackTrace();
				}
			}
		}
	}
}

 

分享到:
评论

相关推荐

    华中科技大学-计算机通信与网络(Socket编程)-内含源文件和说明书.zip

    它很可能包含了Socket编程的实例代码,比如服务器端和客户端的实现,展示了如何运用Socket API进行网络通信。读者可以通过阅读和运行这些代码来提升对Socket编程的实际操作能力。 总的来说,这个资源包为学习Socket...

    网络通信编程(C语言)

    在IT领域,网络通信编程是构建现代互联网应用的基础。C语言因其高效、底层特性,常被用于编写网络通信程序,特别是在系统级编程和嵌入式系统中。本资源"网络通信编程(C语言)"提供了使用C语言进行网络通信编程的...

    visual c++网络通信编程技术详解

    在进行网络通信编程之前,首先需要了解网络的基本概念,包括TCP/IP协议族、OSI七层模型以及互联网的工作原理。TCP/IP协议是网络通信的基础,包括传输层的TCP(传输控制协议)和IP(网际协议),它们分别负责数据的...

    C#网络编程---源码

    5. **异常处理**:网络通信中可能出现各种异常,如连接中断、数据传输错误等,因此需要编写健壮的异常处理代码。 6. **IP和端口**:每个通信实体都需要有自己的IP地址和端口号,IP用于定位主机,端口号用于区分同一...

    VC++网络通信编程实例案例精选

    在IT行业中,网络通信编程是开发跨平台应用和系统的关键技术之一。对于使用Microsoft Visual C++(VC++)的开发者来说,理解并掌握网络通信编程是实现高效、可靠的客户端-服务器应用程序的基础。"VC++网络通信编程...

    高级网络编程课件--东南大学

    UNIX网络编程套接字API是网络编程领域中的基础和关键,它提供了低级别的网络通信接口,适用于多种操作系统,包括Linux和类UNIX系统。 在本课程中,首先会介绍网络编程的基本概念,如TCP/IP协议族、网络层次模型以及...

    计算机网络实验SOCKET编程----WEB服务器[C#版本].

    计算机网络实验中的SOCKET编程是网络通信领域的重要学习内容,特别是在构建WEB服务器时,SOCKET接口扮演着核心角色。本实验以C#语言为开发工具,深入探讨如何使用SOCKET实现一个简单的WEB服务器。 首先,我们需要...

    vc++网络通信编程实用案例精选

    总的来说,"VC++网络通信编程实用案例精选"可能会包含一系列这样的示例,涵盖了从基本的TCP连接到复杂的多线程服务器设计。通过学习这些案例,开发者可以更好地理解和掌握如何在VC++环境中利用Winsock进行网络通信...

    vc网络通信编程实用案例精选——源代码.rar

    《VC++网络通信编程实用案例精选》是一本深入探讨如何使用VC++进行网络通信编程的实践性书籍。这本书涵盖了从基础知识到高级应用的各种实例,旨在帮助开发者熟练掌握网络通信技术。以下将对其中的关键知识点进行详细...

    《VC++网络通信编程实例案例精选》光盘源代码

    《VC++网络通信编程实例案例精选》是一本深入探讨如何使用VC++进行网络通信编程的专业书籍。这本书通过实例的方式,让读者能够理解并掌握网络通信编程的核心技术。光盘源代码包含了书中第三部分第六节的所有实例,为...

    VC网络通信编程实用案例精选第二版源代码Part1.rar

    《VC网络通信编程实用案例精选第二版源代码Part1.rar》是针对VC++开发者的一份珍贵资源,包含多个章节的源代码示例,旨在帮助学习者深入理解和掌握网络通信编程技术。这份压缩包主要分为五个部分:chap1、chap2、...

    网络通信编程

    在IT领域,网络通信编程是构建现代互联网应用的基础。它涉及到如何通过网络协议进行数据传输,使得设备之间能够相互通信。本节我们将深入探讨网络通信编程的核心概念、技术和实践。 首先,我们要理解网络通信的基本...

    《Visual C++网络通信编程实用案例精选》随书光盘5-9

    《Visual C++网络通信编程实用案例精选》是一本专注于利用Microsoft的Visual C++进行网络通信程序开发的专业书籍。这本书提供了丰富的实例,旨在帮助读者深入理解和掌握网络通信编程的关键技术和实践应用。随书光盘5...

    黑马_Linux网络编程-网络基础-socket编程-高并发服务器

    在网络通信的过程中,协议起着至关重要的作用。简而言之,**协议**是一组规则或约定,规定了两台或多台计算机之间如何进行有效沟通。它不仅定义了数据传输的方式,还指定了数据的格式和结构,确保信息能够在不同系统...

    Visual C++网络通信编程实用案例精选

    《Visual C++网络通信编程实用案例精选》是一本专注于利用Microsoft的Visual C++开发网络通信应用的实践性书籍。本书的配套源码提供了丰富的实例,旨在帮助读者深入理解和掌握网络编程的基本原理和技术。通过这些...

    VisualC++网络通信编程技术详解

    本篇文章将深入探讨“Visual C++网络通信编程技术”,涵盖其基本概念、关键技术和实现方法。 首先,我们要理解网络通信的基本原理。网络通信基于TCP/IP协议族,它定义了数据在网络中的传输规则。TCP(传输控制协议...

    基于VB6的网络通信编程方法

    【VB6.0网络通信编程方法详解】 VB6(Visual Basic 6.0)作为一款经典的编程环境,虽然已不再支持新的开发,但它在许多遗留系统中仍然占据着重要地位。VB6提供了丰富的控件和API函数,使得开发者能够轻松地进行网络...

    嵌入式培训网络编程专题-网络编程讲义及配套源代码

    1. 套接字(Socket)编程:套接字是网络通信的基本接口,通过创建、绑定、监听、接受/连接、发送和接收数据等步骤实现网络通信。在TCP编程中,使用socket()函数创建套接字,bind()函数绑定本地地址,listen()函数...

    Linux/UNIX网络编程》-甘刚-电子教案

    1. **套接字接口**:这是Linux和UNIX系统中进行网络编程的基础,包括socket()函数创建套接字,bind()将套接字与本地地址关联,listen()设置服务器监听模式,accept()接收连接请求,connect()客户端连接服务器,以及...

Global site tag (gtag.js) - Google Analytics