java中如何创建socket连接的过程
发布时间:2025-05-21 14:09:09 发布人:远客网络
一、java中如何创建socket连接的过程
1、在打开的ie浏览器窗口右上方点击齿轮图标,选择“Internet选项”,如下图所示:
2、在打开的Internet选项窗口中,切换到安全栏,在安全选卡中点击“自定义级别”,如下图所示:
3、在“安全设置-Internet区域”界面找到“Java小程序脚本”、“活动脚本”,并将这两个选项都选择为“禁用”,然后点击确定,如下图所示:
二、JAVA 问题,用socket编写一个客户端程序
给你一个我写的示例,用的是基于TCP的Socket技术,你锻炼一下,改一改,不会改再找我!
import java.io.InputStreamReader;
import java.io.BufferedReader;
public static void main(String[] args) throws Exception
//创建客户端Socket服务,并且制定主机和duank
Socket s= new Socket("192.168.1.104",10002);//连接固定的主机和端口
//为了发送数据,获取Socket中的输入输出流
OutputStream out= s.getOutputStream();
InputStreamReader isr= new InputStreamReader(System.in);
BufferedReader br= new BufferedReader(isr);
InputStream in= s.getInputStream();
while((line= br.readLine())!=null)
String content= new String(buf,0,len);
System.out.println("Server:"+content);
*使用TCP协议,写服务器端。做到服务器能收到客户端的信息,也能向客户端发送信息
import java.io.InputStreamReader;
import java.io.BufferedReader;
public static void main(String[] args) throws Exception
//建立服务器的Socket服务,并且监听一个端口
ServerSocket ss= new ServerSocket(10002);
InputStream is= s.getInputStream();
OutputStream out= s.getOutputStream();
InputStreamReader isr= new InputStreamReader(System.in);
BufferedReader br= new BufferedReader(isr);
//通过accept()方法获得客户端传过来的Socket对象
// System.out.println("getByNanme():"+s.getInetAddress());
System.out.print("getHostAddress():"+s.getInetAddress().getHostAddress());
//获取客户端发过来的数据,就要使用客户端对象的读取流来读取数据
int len= is.read(buf);//把流中数据读到字节数组中
String content= new String(buf,0,len);
System.out.println(""+content);
while((line= br.readLine())!=null)
s.close();//循环内有判断语句,这句话才不出错
三、疯狂Java讲义:使用ServletSocket创建TCP服务器端
1、使用ServletSocket创建TCP服务器端
2、从图中看上去TCP通信的两个通信实体之间并没有服务器端客户端之分但那是两个通信实体已经建立虚拟链路之后的示意图在两个通信实体没有建立虚拟链路之前必须有一个通信实体先做出主动姿态主动接收来自其他通信实体的连接请求
3、 Java中能接受其他通信实体连接请求的类是ServerSocket ServerSocket对象用于监听来自客户端的Socket连接如果没有连接它将一直处于等待状态 ServerSocket包含一个监听来自客户端连接请求的方法
4、 Socket accept()如果接收到一个客户端Socket的连接请求该方法将返回一个与客户端Socket对应的Socket(如图所示每个TCP连接有两个Socket)否则该方法将一直处于等待状态线程也被阻塞
5、为了创建ServerSocket对象 ServerSocket类提供了如下几个构造器
6、 ServerSocket(int port)用指定的端口port来创建一个ServerSocket该端口应该是有一个有效的端口整数值~
7、 ServerSocket(int port int backlog)增加一个用来改变连接队列长度的参数backlog
8、 ServerSocket(int port int backlog InetAddress localAddr)在机器存在多个 IP地址的情况下允许通过localAddr这个参数来指定将ServerSocket绑定到指定的IP地址
9、当ServerSocket使用完毕应使用ServerSocket的close()方法来关闭该ServerSocket通常情况下服务器不应该只接受一个客户端请求而应该不断地接受来自客户端的所有请求所以Java程序通常会通过循环不断地调用ServerSocket的accept()方法如下代码片段所示
10、//创建一个ServerSocket用于监听客户端Socket的连接请求
11、 ServerSocket ss= new ServerSocket()
12、//采用循环不断接受来自客户端的请求
13、//每当接受到客户端Socket的请求服务器端也对应产生一个Socket
14、//下面就可以使用Socket进行通信了
15、上面程序中创建ServerSocket没有指定IP地址则该ServerSocket将会绑定到本机默认的IP地址程序中使用作为该ServerSocket的端口号通常推荐使用以上的端口主要是为了避免与其他应用程序的通用端口冲突
16、 Java程序性能优化让你的Java程序更快更稳定