J2SE第十章——Socket

1.怎么定位计算机?         为网络上的计算机有唯一标识--IP地址  "ipconfig"查看         xxx.xxx.xxx.xxx  映射成唯一的字符串---->域名 2.怎么定位应用程序?         使用一个整数来标记不同的应用程序---->  端口Port  0~65536 >1024         比如 迅雷 用整数80标记 3
摘要由CSDN通过智能技术生成

1.怎么定位计算机?

         为网络上的计算机有唯一标识--IP地址  "ipconfig"查看

         xxx.xxx.xxx.xxx  < 255 ----> 映射成唯一的字符串---->域名

 

2.怎么定位应用程序?

         使用一个整数来标记不同的应用程序---->  端口Port  0~65536 >1024

         比如 迅雷 用整数80标记

 

3. 怎么表示本机?

         3.1 真实IP 

         3.2 域名 locahost

         3.3 IP 128.0.0.1

4.代码实现

         4.1 分别定义两个.java文件,表示服务器端TestServer和客户端TestClient

         4.2 先写服务端,交叉写 服务端和客户端

                   4.2.1 首先在服务端开启服务:服务端:创建ServerSocket(port){}  ss对象

                   4.2.2 客户端向服务器发请求: 创建Socket(host,port){}  s对象

                   4.2.3.服务器接受请求  Socket s = ss.accept();

import java.net.*;

public class TestServer {
	public static void main(String[] args) throws Exception {
		//1.在服务端创建ServerSocket对象,开放一个端口号,标记它 
		//1024以下的端口号尽量不用,可能已经被使用了
		ServerSocket ss = new ServerSocket(8888);

		//3.接受客户端请求
		while (true) {
			Socket s = ss.accept();
			System.out.println("A Client is connected");	
		}
				
	}
}

public class TestClient {
	public static void main(String[] args) extends Exception {
		//2. 在客户端创建Socket对象 public static Socket(String host,int port)
				
		Socket s = new Socket("localhost",8888);
	}
}

5. 客户端输出流和服务器端输入流对接

         5.1 在客户端构建输出流

         5.2 在服务器端构建输入流

import java.io.*;
import java.net.*;

public class TestServer {
	public static void main(String[] args) throws Exception {
		 ServerSocket ss = new ServerSocket(8888);

		 while (true) {
		 	Socket s = ss.accept();
			BufferedReader br = new BufferedReader(new InputStreamReader(s.getInputStream()));
			String str = br.readLine();
			System.out.println(str);
		}
	}
}

import java.net.*;
public class TestClient {
	public static void main(String[] args) throws Exception {
		Socket s = new  Socket("localhost",8888);

		PrintWrite out = new PrintWriter(s.getOutputStream());
		out.println("Hello Server");

		out.close();
	}
}



  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值