导航:首页 > 编程语言 > 关于javasocket

关于javasocket

发布时间:2023-03-26 15:52:37

java中Socket通信问题

第5~8字节 用字节数表示的消息内容长度 第9字节 服务类型:1为响应,2为请求 第10~11字节 源系统代号 第12~13字节 目的系统代号消息内容:xml格式小弟之前没有做过这样的程序,实在是一点头绪都没有,那位高手能给点提示 所谓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方法获得网络连接输入,同时返回一个IutputStream对象实例,。 . getOutputStream方法连接的另一端将得到输入,同时返回一个OutputStream对象实例。 注意:其中getInputStream和getOutputStream方法均会产生一个IOException,它必须被捕获,因为它们返回的流对象,通常都会被另一缺慧个流对象使用。 客户端,使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。

㈡ java中的socket是什么意思

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

㈢ 关于 java socket的消息推送问题

使用线程池会比较好。方便管理。你也要对链接的线程做一个限制,无限的链接创建线程会耗尽内存的。比如:

{
;
;
publicNetworkService(intport,intpoolSize)
throwsIOException{
serverSocket=newServerSocket(port);
pool=Executors.newFixedThreadPool(poolSize);
}
publicvoidrun(){//runtheservice
try{
for(;;){
pool.execute(newHandler(serverSocket.accept()));
}
}catch(IOExceptionex){
pool.shutdown();
}
}
}
{
privatefinalSocketsocket;
Handler(Socketsocket){this.socket=socket;}
publicvoidrun(){
//readandservicerequestonsocket
}
}

在没有消息的时候,线程要处于wait状态,当有消息的时候,用notify来激活。

㈣ java关于socket多连接

因为没有客户端连接或者没有服务器端支持。。。。 最好写个死循环,来等待客户端的连接,用服务器端用线程做,分别做客户端和服务器端, 然后先开启服务器端 来等待连接,然后开启客户端。。否则就会出错。

㈤ java Socket 类

楼主:
你好!
在回答你问题前想先问你一下,你是在自己机器上做 客户端/服务器端的测试对吧?
如果是自己本地做这个测试,你会写2个类,分别是客户端的和服务器端的,是吧?行,如果这样的话,你肯定会在服务器端那个类里自己写一个端口,也就是上面的port,也就是这么一句话:ServerSocket sock=new ServerSocket(8888),8888就是端口号,自己随便写一个可以了。那么,你在客户端要连接时候可以直接用“localhost”来作为你上述的host,这是你想要的答案。也就是socket(localhost,8888)。
如果你想直接用IP的话,那么你可以这样做,打开“开始”--->"运行",在运行里输入“cmd”,然后系统会调用DOS界面给你,你输入 "ipconfig",就可以了。里面对应的 “IP Address”就是你想要的答案了。
如果你想要连到其他已提供的服务器,那你只要知道他的IP就可以啦。比如:新浪的、腾讯的,只要有IP就能访问了。
祝你成功!

㈥ 什么是java socket

java技巧经验
http://www.mywelt.net/?q=jts

61 条面向对象设计的经验原则
ANT 基本概念、安装与配置
AWT 和 SWING 的强大竞争者 - SWT 简介
Axis + Tomcat 模拟银行存取款服务
用 Java 编写简单 UDP 网络通信程序
用 JBuilder9 开发 Struts 的实例
用 JFace 和 SWT 构建一个简单的应用程序
用 Jsp 动态输出 excel 文档和乱码问题的解决
用 JSP/Servlet 构建三层式管理信息系统
用 SyncML 进行异构数据库复制
用缓冲技术提高 JSP 应用的性能和稳定性
用连接池提高 Servlet 访问数据库的效率
程序开发中 Debug 和 Release 之本质区别
简单教您如何使用 Factory Method 模式
简易使用 Apache Web 让你的 JSP "动"起来
Enhydra 入门 - 一个有用的中间件 - Enhydra
通过 Java Swing 看透 MVC 设计模式
通过 JDBC 连接 Oracle 数据库的十大技巧
配置 Web 应用环境实现 JSP 留言簿开发
讲解如何在 C/C++ 中调用 Java 的方法
讲述在 Java 中 Decorate 的三种实现方法
详细解析 JavaBeans 与 Ejb 的区别
详细讲解怎样在 Java 中运行其它应用程序
详细讲述 JSP、PHP 与 Java 融合的开发环境
详细为您解析 JSP 的环境引擎 - Websphere
详细介绍用 JBuilder9 开发的 Struts 实例
详解 EJB 3.0 是如何简化应用程序的开发
详解如何利用 iText 在 JSP 中生成 PDF 报表
详解怎样使用 Axis 开发 Web Service 的实例
Jar 文件包间接及 Jar 命令开发实例详解
Java 的秘密 - 将应用程序的设定存在哪里
Java 程序的反编译 - 再次掀起编译热潮
Java 编程中更新 XML 文档的常用方法集
Java 语言入门级的十二大特色详细介绍
Java 入门基本语法
Java 入门所需的关键特性与 30 个基本概念
Java 关于中文乱码问题的解决方案与经验
Java 列表对象的性能分析和测试应用解析
Java 初学者常用开发工具介绍图解
Java 基础之"接口"与"包"
Java 对象转为 String 的几种常用方法剖析
Java 开发中的线程安全选择与 Swing
Java 开发为什么需要 UML?
Java 性能优化技巧集锦
Java 服务器端编程安全的必读本
Java 中 Static、this、super、final 用法
Java 中的强大武器 - 对象的序列化
JavaBeans 程序开发从入门到精通教程
Javamail 操作指南 - 实例代码解析
Jboss 的 JDBC 数据源配置步骤详解大全
JNI 使用技巧点滴
JSP 与 ASP 的比较
JudoScript - 让 Java 离你更近一些
Spring WebFlow - 重用与抽象框架解析 (1)
Spring WebFlow - 重用与抽象框架解析 (2)
StarSuite 6.0 和 SDK 安装以及配置指南 (1)
StarSuite 6.0 和 SDK 安装以及配置指南 (2)
String.getBytes() 方法中的中文编码问题
Swing 第三方工具的设计
Tomcat5.0 + MySql 配置 JDBC,DBCP,SSL
Web Services 在 Tomcat4.0.4 的安装和测试
初学者入门 JAVA 的 XML 编程实例解析
初学者如何快速入门 JSP 实例分析
在 Java 应用开发中如何使用线程
在 Servlet 中如何捕获 Session 事件
大话面向对象的前世与今生
如何进行 J2SDK 和 TOMCAT 的安装及配置
如何在Web应用中启动后台任务的实例讲解
如何为 Java 应用程序添加退出事件的处理
如何使用 Java 程序实现 Logo 画面的编程
实例讲解如何穿越防火墙访问 EJBs
开发中利用批处理 JDBC 语句提高处理速度
怎样用 Java 实现 MSN Messager 的功能
怎样用 jConfig 获取 XML 文件中的配置信息
怎样真正的在 Struts 框架下使用时间类型
怎样在 Java 实例开发的过程中使用进度条
怎样为 SWT 应用程序配备内容助理功能
怎样使用 Java Servlet 动态生成图片详解
手把手教您如何编写一个动画 Applet 实例
揭开 Java Socket 编程中的一个秘密类
教您用 Java 做一个最简单的 Socket 通话程序
教您纯 Jsp 的自定义的单个文件上载代码
教您在 Java 开发过程中如何应对异常处理
教您如何提高 Java 代码性能的应用解析
教您将 Java 编译为 EXE 的几种简易方法
教您快速上手使用 JDOM 处理 XML 文档的技巧
教您怎样在 Web 应用中动态创建 PDF 文件
教您一个压缩归档的实用软件
教你如何快速成为一名 Java 初级程序员
浅谈实际开发中数据源在 JDBC 中的应用
浅析 Java 中常见的 Date 类的应用技巧
浅析 JavaBean 与 EJB 的区别与应用分析
测试对 Java 开发的重要性
深入解析 Java 的新特性 assertion
专家解答 Java 常见问题集锦 25 问
从 C++ 到 Java - 理解面向对象的关键所在
使用 Java 把文件/目录压缩成 ZIP 包最新技巧
澄清 Java 的接口与继承机制

http://www.mywelt.net/?q=jts

阅读全文

与关于javasocket相关的资料

热点内容
maya粒子表达式教程 浏览:84
抖音小视频如何挂app 浏览:283
cad怎么设置替补文件 浏览:790
win10启动文件是空的 浏览:397
jk网站有哪些 浏览:134
学编程和3d哪个更好 浏览:932
win10移动硬盘文件无法打开 浏览:385
文件名是乱码还删不掉 浏览:643
苹果键盘怎么打开任务管理器 浏览:437
手机桌面文件名字大全 浏览:334
tplink默认无线密码是多少 浏览:33
ipaddgm文件 浏览:99
lua语言编程用哪个平台 浏览:272
政采云如何导出pdf投标文件 浏览:529
php获取postjson数据 浏览:551
javatimetask 浏览:16
编程的话要什么证件 浏览:94
钱脉通微信多开 浏览:878
中学生学编程哪个培训机构好 浏览:852
荣耀路由TV设置文件共享错误 浏览:525

友情链接