JAVA 与SOCKET通讯
先来看看客户段程序编写的流程:
1、 首先调用Socket类的构造函数,以服务器的指定的IP地址或指定的主机名和指定的端口号为参数,创建一个Socket流,在创建Socket流的过程中包含了向服务器请求建立通讯连接的过程实现。
2、 建立了客户端通讯Socket后。就可以使用Socket的方法getInputStream()和getOutputStream()来创建输入/输出流。这样,使用Socket类后,网络输入输出也转化为使用流对象的过程。
3、 使用输入输出流对象的相应方法读写字节流数据,因为流连接着通讯所用的Socket,Socket又是和服务器端建立连接的一个端点,因此数据将通过连接从服务器得到或发向服务器。这时我们就可以对字节流数据按客户端和服务器之间的协议进行处理,完成双方的通讯任务。
4、 待通讯任务完毕后,我们用流对象的close()方法来关闭用于网络通讯的输入输出流,在用Socket对象的close()方法来关闭Socket。
下面,我想通过一个简单的例子来进一步介绍一下客户端程序的编写
代码一:
import java.io.*;
import java.net.*;
public class SocketCommunicationClient
{
public static void main(String[] args)
{
try{
Socket clientSocket =new Socket ("mice",9000);//创建一个流Socket并与主机mice上的端口
9000相连接
OutputStream output =clientSocket.getOutputStream();//向此Socket写入字节的一个输出流
DataInputStream input=new DataInputStream(clientSocket.getInputStream());
file://创建新的数据输入流以便从指定的输入流中读出数据
int c;
String response;
while (( c= System.in.read())!=-1)//从屏幕上接受输入的字符串,并且分解成一个个字符
{
output.write((byte)c);
if(c=='\n')//如果字符为回车,则输出字符串缓冲
{
output.flush();
response=input.readLine();
System.out.println("Communication:"+response);
}
}
output.close();
input.close();
clientSocket.close();
} catch (Exception e){
System.err.println("Exception :"+e);
}
}
}
这个程序是一个非常的简单的数据通讯的例子,程序先创建了一个Socket并和主机mice上的端口9000相连
接,然后打开输
相关文档:
public class InsertBlobData {
Connection con = null;
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
// TODO Auto-generated method stub
InsertBlobData data = new InsertBlobData();
data.insertBlogInfo("002jpg", "sdsdfdf", "2007-02-1 ......
0
.引言
在ChinaITLAB
导师制辅导中,笔者发现问得最多的问题莫过于"
如何学习编程?Java
该如何学习?"
。类似的问题回答多了,难免会感觉厌烦,就萌生了写下本文的想法。到时候再有人问起类似的问题,我可以告诉他(她),请你去看看《Java
学习之路》。拜读过台湾蔡学镛先生的《Java
夜未眠》,有 ......
原题如下:
用字符串输入的方式编写一个简单的通讯录。此通讯录由多条记录构成。
每条记录包括一个联系人的姓名、性别、电话、通信地址,并具有查询、增加、修改、删除等功能,
且每执行一次功能操作后,可以选择用类似以下的格式,输出通讯录的所有信息记录:
编号 姓名 &nbs ......
static String string2Unicode(String s) {
try {
StringBuffer out = new StringBuffer("");
byte[] bytes = s.getBytes("unicode");
for (int i = 2; i < bytes.length - 1; i += 2) {
out.append("u");
String str = Integer.toHexString(bytes[i + 1] & 0xff);
f ......