Socket到底是干什么的?能打个比方吗? 到处是SOCKET,J2EE要用到这个类吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Socket就是套接字。客户端与服务器之间通信用的。Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。Socket建立 为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄Socket配置 通过socket调用返回一个socket描述符后,在使用socket进行网络传输以前,必须配置该socket。连接建立 面向连接的客户程序使用Connect函数来配置socket并与远端服务器建立一个TCP连接,其函数原型为: int connect(int sockfd, struct sockaddr *serv_addr,int addrlen); 数据传输 Send()和recv()这两个函数用于面向连接的socket上进行数据传输。 在用j2EE进行web开发时socket只是被封装了而已,变成了底层的东西。在web开发这一端被隐藏了 socket是存放数据的码头?然后轮船是数据传输。是吧? Socket套接字,网络编程少不了它! j2ee有这个类.不是到处用,是做程序需要通信的时候会用他.socket难有难的做,简单有简单的做.比方?你的程序编码||访问,调用,数据填充,逻辑组织.|Vsocket组件||操作系统的通信API|V到达网线出口.... 就是你和你女朋友通信,你俩正在热量中,俩人都拿着手机在哪里对着发短信,你一条,她一条的,装在你们甜言蜜语的东西,就叫做 socket, 你发完一条后,就特心急,等着你女朋友的回信,拿着手机在哪里傻等,就是新阻塞等待,明白了? 实际上在 Java 开发中你已经不知不觉地用到了 Socket,只不过不是你实现的。比如:JDBC 数据库厂商的实现、Tomcat 作为一个简单的 Web 服务器也是需要使用 Socket 实现 HTTP 通信的。Socket 通信是所有通信交互方式中最快的,但是在代码编写上也是最麻烦的,特别是非阻塞的 Socket 通信。Socket 仅仅是 J2SE 中的东西,但是相比较于 J2EE 中的其他东西来说也是很麻烦的,需要设计和编写者拥有一定的通信基本知识,以及多线程并发编程的知识。Java 是以网络、安全和线程处理著称的,因此在这些方面都有很强大的优势,有着丰富的 API:在网络通信方面,有 TCP 通信的 Socket,UDP 通信的 DatagramSocket,以及与 SSL 相关 JSSE 中的 SSLSocket,以及这些非阻塞的 SocketChannel, DatagramChannel, SSLEngine在安全方面,JCA, JCE, JAAS 等等线程处理方面,从 JDK 5 开始增加了 java.util.concurrent 这个包,添加了很多控制多线程并发的 API对上面这些 J2SE 中 API 的应用熟悉的话,那可以说在 Java 层面上有了更进一步的了解。但就目前很多人认为 Java 的学习就是对 Struts、Spring、Hibernate 的学习,在这种情形环境中对于 java 来说是一件非常悲哀的事情! 在线等,UML的问题 rmi程序客户端启动错误 请问聊天室编写中体现异步应该是什么过程 关于JAVA下加密的问题 java权限的问题 算法:求两个字符串的最大公共子串,谁有最好的实现?100分相送。 小弟明天要参加机试,请大家给点建议 请问可以用那个函数把ip地址转化成一个数字么? Netscape 的APPLET问题 JDBC奇怪问题 请问,如何用java调用.Net的Web Service? java 也能直接操作硬件?(不通过*.c, *.cpp 等)
Socket接口是TCP/IP网络的API,Socket接口定义了许多函数或例程,程序员可以用它们来开发
TCP/IP网络上的应用程序。要学Internet上的TCP/IP网络编程,必须理解Socket接口。
Socket建立
为了建立Socket,程序可以调用Socket函数,该函数返回一个类似于文件描述符的句柄
Socket配置
通过socket调用返回一个socket描述符后,在使用socket进行网络传输以前,必须配置该socket。
连接建立
面向连接的客户程序使用Connect函数来配置socket并与远端服务器建立一个TCP连接,其函数原型为:
int connect(int sockfd, struct sockaddr *serv_addr,int addrlen);
数据传输
Send()和recv()这两个函数用于面向连接的socket上进行数据传输。 在用j2EE进行web开发时socket只是被封装了而已,变成了底层的东西。在web开发这一端被隐藏了
然后轮船是数据传输。
是吧?
不是到处用,是做程序需要通信的时候会用他.socket难有难的做,简单有简单的做.比方?你的程序编码
|
|
访问,调用,数据填充,逻辑组织.
|
V
socket组件
|
|
操作系统的通信API
|
V
到达网线出口....
在安全方面,JCA, JCE, JAAS 等等
线程处理方面,从 JDK 5 开始增加了 java.util.concurrent 这个包,添加了很多控制多线程并发的 API对上面这些 J2SE 中 API 的应用熟悉的话,那可以说在 Java 层面上有了更进一步的了解。但就目前很多人认为 Java 的学习就是对 Struts、Spring、Hibernate 的学习,在这种情形环境中对于 java 来说是一件非常悲哀的事情!