java中的socket是什么意思?
所谓socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。 以J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。重要的Socket API:java.net.Socket继承于java.lang.Object,有八个构造器,其方法并不多,下面介绍使用最频繁的三个方法,其它方法大家可以见JDK-1.3文档。. Accept方法用于产生"阻塞",直到接受到一个连接,并且返回一个客户端的Socket对象实例。"阻塞"是一个术语,它使程序运行暂时"停留"在这个地方,直到一个会话产生,然后程序继续;通常"阻塞"是由循环产生的。. getInputStream方法获得网络连接输入,同时返回一个InputStream对象实例。. getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一个流对象使用。2ServerSocket类例子编辑package com.lanber.socket;import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class ServerDemo {/*** 注意:Socket的发送与接收是需要同步进行的,即客户端发送一条信息,服务器必需先接收这条信息,* 而后才可以向客户端发送信息,否则将会有运行时出错。* @param args*/public static void main(String[] args) {ServerSocket ss = null;try {ss = new ServerSocket(8888);//服务器接收到客户端的数据后,创建与此客户端对话的SocketSocket socket = ss.accept();//用于向客户端发送数据的输出流DataOutputStream dos = new DataOutputStream(socket.getOutputStream());//用于接收客户端发来的数据的输入流DataInputStream dis = new DataInputStream(socket.getInputStream());System.out.println("服务器接收到客户端的连接请求:" + dis.readUTF());//服务器向客户端发送连接成功确认信息dos.writeUTF("接受连接请求,连接成功!");//不需要继续使用此连接时,关闭连接socket.close();ss.close();} catch (IOException e) {e.printStackTrace();}}}3客户端的例子编辑package com.lanber.socket;importjava.io.DataInputStream;import java.io.DataOutputStream;importjava.io.IOException;import java.io.OutputStream;import java.net.Socket;import java.net.UnknownHostException;public class ClientDemo {/*** @param args*/public static void main(String[] args) {Socket socket = null;try {socket = new Socket("localhost",8888);//获取输出流,用于客户端向服务器端发送数据DataOutputStream dos = new DataOutputStream(socket.getOutputStream());//获取输入流,用于接收服务器端发送来的数据DataInputStream dis = new DataInputStream(socket.getInputStream());//客户端向服务器端发送数据dos.writeUTF("我是客户端,请求连接!");//打印出从服务器端接收到的数据System.out.println(dis.readUTF());//不需要继续使用此连接时,记得关闭哦socket.close();} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}} }
socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过"套接字"向网络发出请求或者应答网络请求。-----J2SDK-1.3为例,Socket和ServerSocket类库位于java.net包中。ServerSocket用于服务器端,Socket是建立网络连接时使用的。在连接成功时,应用程序两端都会产生一个Socket实例,操作这个实例,完成所需的会话。对于一个网络连接来说,套接字是平等的,并没有差别,不因为在服务器端或在客户端而产生不同级别。不管是Socket还是ServerSocket它们的工作都是通过SocketImpl类及其子类完成的。给你一个例子:服务端例子:import java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class ServerDemo {/*** 注意:Socket的发送与接收是需要同步进行的,即客户端发送一条信息,服务器必需先接收这条信息,* 而后才可以向客户端发送信息,否则将会有运行时出错。* @param args*/public static void main(String[] args) {ServerSocket ss = null;try {ss = new ServerSocket(8888);//服务器接收到客户端的数据后,创建与此客户端对话的SocketSocket socket = ss.accept();//用于向客户端发送数据的输出流DataOutputStream dos = new DataOutputStream(socket.getOutputStream());//用于接收客户端发来的数据的输入流DataInputStream dis = new DataInputStream(socket.getInputStream());System.out.println("服务器接收到客户端的连接请求:" + dis.readUTF());//服务器向客户端发送连接成功确认信息dos.writeUTF("接受连接请求,连接成功!");//不需要继续使用此连接时,关闭连接socket.close();ss.close();} catch (IOException e) {e.printStackTrace();}}}客户端例子:importjava.io.DataInputStream; import java.io.DataOutputStream; importjava.io.IOException; import java.io.OutputStream; import java.net.Socket; import java.net.UnknownHostException;public class ClientDemo {/** * @param args */ public static void main(String[] args) { Socket socket = null; try { socket = new Socket("localhost",8888); //获取输出流,用于客户端向服务器端发送数据 DataOutputStream dos = new DataOutputStream(socket.getOutputStream()); //获取输入流,用于接收服务器端发送来的数据 DataInputStream dis = new DataInputStream(socket.getInputStream()); //客户端向服务器端发送数据 dos.writeUTF("我是客户端,请求连接!"); //打印出从服务器端接收到的数据 System.out.println(dis.readUTF()); //不需要继续使用此连接时,记得关闭哦 socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
简单来说客户端,与服务器端ServerSocket 配套使用,两者可以进行会话交谈。常用于制作聊天室(聊天工具)。
通信方面使用较多,
网络套接字,应用程序通常通过"套接字"向网络发出请求或者应答网络请求。

用java的Socket编写的小小小聊天工具,在本机调试成功,但是在两台能互相ping通的电脑却不能连接上
建议先用一个最简单的程序测试客户端链接服务器,这样可以排除很多干扰,下面两个类已经是客户端和服务器的最简代码了,你先测一下,如果仍不能连接,把异常信息发上来看看。 另:Socket连接容易出问题的地方:1)端口号冲突,服务器无法启动;2)IP地址错误,IP地址分本机地址、局域网地址和广域网地址,在不同的环境下使用不同的地址测试,如果错误将无法被客户端访问,还有如果机器安装了多网卡等问题都会引起错误;3)防火墙禁止Java程序开放端口,不单是服务器机器的软防火墙,局域网的防火墙也可能阻止外部的访问。import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;public class ServerMain {public ServerMain() {try {ServerSocket ss = new ServerSocket(31647);Socket s = ss.accept();System.out.printf("客户端连接成功:n%sn", s.toString());} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {new ServerMain();}}import java.io.IOException;import java.net.Socket;import java.net.UnknownHostException;public class ClientMain {public ClientMain() {try {Socket s = new Socket("192.168.1.100", 31647); // 修改IP地址System.out.println("连接服务器成功!");} catch (UnknownHostException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}}public static void main(String[] args) {new ClientMain();} }
是不是IP地址没做相应修改?

socket调试工具 选择hex模式是什么意思
Socket调试工具中的"hex模式",也称为十六进制模式,其实就是以二进制发送、接收、显示。因为一个二进制数的显示太长,不容易辨认,所以就用十六进制来表示。 ------- 串口调试助手也有这个模式

什么是Socket?
网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个socket。建立网络通信连接至少要一对端口号(socket)。socket本质是编程接口(API),对TCP/IP的封装,TCP/IP也要提供可供程序员做网络开发所用的接口,这就是Socket编程接口;HTTP是轿车,提供了封装或者显示数据的具体形式;Socket是发动机,提供了网络通信的能力。Socket的英文原义是"孔"或"插座"。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务。Socket正如其英文原意那样,像一个多孔插座。一台主机犹如布满各种插座的房间,每个插座有一个编号,有的插座提供220伏交流电, 有的提供110伏交流电,有的则提供有线电视节目。 客户软件将插头插到不同编号的插座,就可以得到不同的服务。
socket的原意是“插座”,在计算机通信领域,socket被翻译为“套接字”,它是计算机之间进行通信的一种约定或一种方式。 通过socket这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据。我们把插头插到插座上就能从电网获得电力供应,同样,为了与远程计算机进行数据传输,需要连接到因特网,而socket 就是用来连接到因特网的工具。

tcp socket 调试工具
你装防火墙没 你的那一大段总结一下 只要人家连你就失败 你连接别人就OK 是吧 防火墙一般不防出站 放进站关闭一下防火墙试试看 或者你在你的防火墙上添加一个规则 针对你的server程序不做监控(既TCP UDP双向通讯 所有端口 对方任意IP地址 数据包均放行)

本文由 在线网速测试 整理编辑,转载请注明出处。