您的位置:首页 > 理论基础 > 计算机网络

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

没有一直监听的:

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: