3.19Java基础知识:Socket编程全部,TCPIP
2016-03-22 21:45
609 查看
Socket编程全部,TCP/IP
一、TCP/IP 通信通信,必须要有IP地址,必须要有相同的套接字(socket)
步骤:
1、寻址定位:
通过IP地址 找到主机
通过port (端口号)(0-65535) 找到程序
查看主机的端口号:cmd netstat -ano
SQL 端口号:3306
我们自己的:8080之后
本机IP 127.0.0.1
2、通信(协议)
TCP/IP包含:
TCP 可靠(三次握手)B是否能接收,B是否接收到,B返回信息给A
TUP 不可靠,无状态,速度快,视频一般用这种
二、套接字 socket
socket 应用程序访问TCP/IP 的调用
socket编程:
①、服务器端:
1、建立服务端某一个端口监听
ServerSocket server = new ServerSocket(8080);
2、准备解释客服端请求:等待-准备
Socket socket = server.accept();
3、创建输入流:
BufferedReader br = new Buff..(new InputS..R..(socket.getInputStream));
PrintWriter pw = new PrintWriter(Socket.getOutputStream(),true);
4、关闭流,关闭socket,关闭server
br.close();socket.close();pw.colse();
②、客服端:少了第一步ServerSocket
1、向服务器发请求
Socket socket = new Socket("127.0.0.1",8080);
2、创建输入输出流:
BufferedReader br = new Bu..R..(new InputS..R(socket.getInputStream))
3、关闭流,socket,server
没有一直监听的:
SocketThread
一、TCP/IP 通信通信,必须要有IP地址,必须要有相同的套接字(socket)
步骤:
1、寻址定位:
通过IP地址 找到主机
通过port (端口号)(0-65535) 找到程序
查看主机的端口号:cmd netstat -ano
SQL 端口号:3306
我们自己的:8080之后
本机IP 127.0.0.1
2、通信(协议)
TCP/IP包含:
TCP 可靠(三次握手)B是否能接收,B是否接收到,B返回信息给A
TUP 不可靠,无状态,速度快,视频一般用这种
二、套接字 socket
socket 应用程序访问TCP/IP 的调用
socket编程:
①、服务器端:
1、建立服务端某一个端口监听
ServerSocket server = new ServerSocket(8080);
2、准备解释客服端请求:等待-准备
Socket socket = server.accept();
3、创建输入流:
BufferedReader br = new Buff..(new InputS..R..(socket.getInputStream));
PrintWriter pw = new PrintWriter(Socket.getOutputStream(),true);
4、关闭流,关闭socket,关闭server
br.close();socket.close();pw.colse();
②、客服端:少了第一步ServerSocket
1、向服务器发请求
Socket socket = new Socket("127.0.0.1",8080);
2、创建输入输出流:
BufferedReader br = new Bu..R..(new InputS..R(socket.getInputStream))
3、关闭流,socket,server
没有一直监听的:
package com.soket.thread; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; public class SocketThread extends Thread{ private Socket socket; public SocketThread(Socket socket) { this.socket = socket; this.start(); } @Override public void run() { try { InputStream in = socket.getInputStream(); OutputStream out = socket.getOutputStream(); byte[] by = new byte[1024]; in.read(by); String str = new String(by).trim(); System.out.println("服务器接收到客户端请求:" + str); out.write("Hello, I'm Server".getBytes()); out.flush(); out.close(); in.close(); } catch (IOException e) { e.printStackTrace(); }finally{ try { socket.close(); } catch (IOException e) { e.printStackTrace(); } } } }
SocketThread
相关文章推荐
- RHCE7 搭建SAMBA服务实现目录网络共享
- Android网络编程之解析XML格式数据
- [TCPIP]代理arp
- 特殊的HttpApplication事件处理
- Linux-进程间通信(五): 网络套接字
- loadrunner简单使用——HTTP,WebService,Socket压力测试脚本编写
- Linux网络属性配置
- 三大家族轻松管理CentOS 7网络属性配置
- JAVA实现网络爬虫
- TCP通信和UDP通信练习
- RHCE7.0-搭建基于NFS网络文件系统服务
- 循环神经网络(RNN)反向传播算法(BPTT)理解
- Linux网络属性配置“三大家族”(ifcfg、iproute、配置文件)
- 谈谈Http
- http协议与内容压缩
- https原理及tomcat配置https方法
- nginx配置ssl加密(单/双向认证、部分https)
- 如何控制开放HTTPS服务的weblogic服务器
- TCP和UDP协议信息传递
- 关于网络安全的登录方式