http://blog.csdn.net/mhapdream/article/details/8929253 Socket:java与C之间的文件传送<1>(C语言之间的通信)
http://blog.csdn.net/mhapdream/article/details/8929457 Socket:java与C之间的文件传送<2>(JAVA语言之间的通信)
http://blog.csdn.net/mhapdream/article/details/8929590 Socket:java与C之间的文件传送<3>(JAVA与C通信需要注意的地方)
http://blog.csdn.net/mhapdream/article/details/8929638 Socket:java与C之间的文件传送<4>(JAVA与C通信)
最近再做一个东西,涉及到了java与C socket通信方面的内容,以下是个人的一部分经历。
我觉得要清楚C与java之间是如何通讯的首先要清楚C与C之间是如何通讯的,JAVA与JAVA之间是怎样通讯的,java与c通信需要注意哪些地方,然后我们就可以让java与C进行相互痛心了!
首先来看一下C与c是如何通信的
服务器:
#include<stdio.h>
#include<winsock.h>
#pragma comment (lib,"wsock32.lib")
void main()
{
WSADATA data;
WSAStartup(MAKEWORD(2,0),&data);
SOCKET socket1;
struct sockaddr_in local;
struct sockaddr_in from;
int fromlen =sizeof(from);
local.sin_family=AF_INET;
local.sin_port=htons(1000); ///监听端口
local.sin_addr.s_addr=INADDR_ANY; ///本机
socket1=socket(AF_INET,SOCK_DGRAM,0);
bind(socket1,(struct sockaddr*)&local,sizeof local);
while (1)
{
char buffer[1024]="\0";
printf("waiting for message from others-------------\n");
if (recvfrom(socket1,buffer,sizeof buffer,0,(struct sockaddr*)&from,&fromlen)!=SOCKET_ERROR)
{
printf("Received datagram from %s--%s\n",inet_ntoa(from.sin_addr),buffer);
给cilent发信息
sendto(socket1,buffer,sizeof buffer,0,(struc