求教~哪位大虾能给我一个java 做客户端 ,c 语言写服务器端的例子吗?udp 或 tcp都 行~~~ 试了几个例子,c和java的代码都没问题,但是就是connect refused,哪位大虾 来指点一下.如果能给个例子就更好了.不胜感激~~~~~~~~ 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //connect refused可能是ip或端口问题, 你可以把代码贴出来看看 代码是这样的,因为是在linux下的c部分:main(){ int skfd; char buf[128]; int len; struct sockaddr_in kpeer; memset(&kpeer, 0, sizeof(kpeer)); kpeer.sin_family = AF_INET; kpeer.sin_addr.s_addr=INADDR_ANY; kpeer.sin_port=8848; skfd=socket(PF_INET,SOCK_DGRAM,0); if(skfd<0){printf("socket create failed\n");exit(1);}if(bind(skfd,(struct sockaddr *)&kpeer,sizeof(kpeer))<0)printf("1\n");while(1){len=sizeof(kpeer);if(recvfrom(skfd,buf,sizeof(buf),0,(struct sockaddr *)&kpeer,&len)<0)printf("2\n");elseprintf("%s\n",buf);}}java 部分:import java.io.*;import java.net.*;class Sender2{public static void main (String [] args){String host = "192.168.1.100";if (args.length == 1)host = args [0];DatagramSocket s = null;try{s = new DatagramSocket ();byte [] buffer;buffer = new String ("Send me a datagram").getBytes ();InetAddress ia = InetAddress.getByName (host);DatagramPacket dgp = new DatagramPacket (buffer,buffer.length,ia,8848);}catch (IOException e){System.out.println (e.toString ());}finally{if (s != null)s.close ();}}} java 里少写了一句,在DatagramPacket dgp = new DatagramPacket (buffer,buffer.length,ia,8848);下面还有一句s.send (dgp);不知道哪儿有问题~~~~~~ java端没问题, c端有个小问题,你试试kpeer.sin_port=htons(8848); 新浪微博面试题,求高手解答! 一个去除数组重复元素的算法(仅用数组实现) 发送邮件的程序出现异常,大家帮帮看一下吧 有一个编程思路问题,望高手解答。 如何在JBuider9中编写一个将word文件转换成PDF文件的应用程序。 Arraylist 如何赋不同值? 关于swing 中 tree的问题 大家援助一下呀!!!前贴《100分求教jtable问题???(lhdjk ) 》100分我一定落实 关于如何制作软件操作手册的问题? 正在学习《java2图形设计卷1:awt〉的弟兄进来报个名呀。 在做一个类似输入法的程序,有点问题咨询! 刚学JAVA新手问题-动态数组-文件读写-文件排序
可能是ip或端口问题, 你可以把代码贴出来看看
c部分:
main()
{
int skfd;
char buf[128];
int len;
struct sockaddr_in kpeer;
memset(&kpeer, 0, sizeof(kpeer));
kpeer.sin_family = AF_INET;
kpeer.sin_addr.s_addr=INADDR_ANY;
kpeer.sin_port=8848;
skfd=socket(PF_INET,SOCK_DGRAM,0);
if(skfd<0)
{
printf("socket create failed\n");
exit(1);
}
if(bind(skfd,(struct sockaddr *)&kpeer,sizeof(kpeer))<0)
printf("1\n");
while(1)
{
len=sizeof(kpeer);
if(recvfrom(skfd,buf,sizeof(buf),0,(struct sockaddr *)&kpeer,&len)<0)
printf("2\n");
else
printf("%s\n",buf);
}
}java 部分:
import java.io.*;
import java.net.*;class Sender2
{
public static void main (String [] args)
{
String host = "192.168.1.100";if (args.length == 1)
host = args [0];DatagramSocket s = null;try
{
s = new DatagramSocket ();byte [] buffer;
buffer = new String ("Send me a datagram").getBytes ();
InetAddress ia = InetAddress.getByName (host);DatagramPacket dgp = new DatagramPacket (buffer,buffer.length,ia,8848);}
catch (IOException e)
{
System.out.println (e.toString ());
}
finally
{
if (s != null)
s.close ();
}
}
}
s.send (dgp);
不知道哪儿有问题~~~~~~